⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitmapappui.cpp

📁 symbian S6O 3rd上传图片例题
💻 CPP
字号:
/**
* 
* @brief Definition of CBitmapAppUi
*
* Copyright (c) EMCC Software Ltd 2003
* @version 1.0
*/

// INCLUDE FILES

//	Class include
#include "Bitmapappui.h"

// System includes
#include <aknnavi.h> // CAknNavigationControlContainer
#include <aknnavide.h> // CAknNavigationDecorator
#include <akntabgrp.h> // CAknTabGroup
#include <Bitmap.rsg>

// User includes
#include "Bitmap.hrh" // TBitmapViewNumber
#include "BitmapDrawView.h" // CBitmapDrawView
#include "BitmapBitBltView.h" // CBitmapBitBltView
#include "BitmapBitBltMaskView.h" // CBitmapBitBltMaskView

// ================= MEMBER FUNCTIONS =======================

/**
 * Symbian OS 2nd phase constructor.  Constructs the application's views, 
 * transferring ownership of them to the superclass.
 * Sets view 1 as the default and remembers that this is the current view id.  
 */	

void CBitmapAppUi::ConstructL()
	{
	BaseConstructL();
	
	// Show tabs for main views from resources
	CEikStatusPane* sp = StatusPane();
	
	// Fetch pointer to the default navi pane control
	iNaviPane = (CAknNavigationControlContainer*)sp->ControlL(
		TUid::Uid(EEikStatusPaneUidNavi));
	
	// Tabgroup has been read from resource and it were pushed to the navi pane. 
	// Get pointer to the navigation decorator with the ResourceDecorator() function. 
	// Application owns the decorator and it has responsibility to delete the object.
	iDecoratedTabGroup = iNaviPane->ResourceDecorator();
	if (iDecoratedTabGroup)
		{
		iTabGroup = (CAknTabGroup*) iDecoratedTabGroup->DecoratedControl();
		}
	
	iDrawView = CBitmapDrawView::NewL();
	AddViewL(iDrawView); // transfer ownership
	
	iBitBltView = CBitmapBitBltView::NewL();
	AddViewL(iBitBltView); // transfer ownership
	
	iBitBltMaskView = CBitmapBitBltMaskView::NewL();
	AddViewL(iBitBltMaskView); // transfer ownership
	
	SetDefaultViewL(*iDrawView);
	}

/**
 * Destructor.
 * Deletes the iDecoratedTabGroup
 */	

CBitmapAppUi::~CBitmapAppUi()
	{
	delete iDecoratedTabGroup;
	}

/**
 * From CEikAppUi, takes care of key event handling for the views.
 *
 * @param aKeyEvent Event to handled.
 * @param aType Type of the key event. 
 * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). 
 */

TKeyResponse CBitmapAppUi::HandleKeyEventL(
	const TKeyEvent& aKeyEvent, TEventCode /*aType*/)
	{
	if (!iTabGroup)
		{
		return EKeyWasNotConsumed;
		}
	
	TInt active = iTabGroup->ActiveTabIndex();
	TInt count = iTabGroup->TabCount();
	
	switch (aKeyEvent.iCode)
		{
		case EKeyLeftArrow:
			if (active > 0)
				{
				active--;
				iTabGroup->SetActiveTabByIndex(active);
				ActivateLocalViewL(TUid::Uid(iTabGroup->TabIdFromIndex(active)));
				}
			break;
		case EKeyRightArrow:
			if((active + 1) < count)
				{
				active++;
				iTabGroup->SetActiveTabByIndex(active);
				ActivateLocalViewL(TUid::Uid(iTabGroup->TabIdFromIndex(active)));
				}
			break;
		default:
			return EKeyWasNotConsumed;
			break;
		}
	
	return EKeyWasConsumed;
	}

/**
 * From CEikAppUi, takes care of command handling for the application views.
 *
 * @param aCommand command to be handled
 */

void CBitmapAppUi::HandleCommandL(TInt aCommand)
	{
	switch (aCommand)
		{
		case EEikCmdExit:
			{
			Exit();
			break;
			}
		default:
			break;
		}	
	}

// End of File

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -