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

📄 fairylandappui.cpp

📁 一个比较完整的有关移动开发的例子 vc++6.0下编译通过
💻 CPP
字号:
/* Copyright (c) 2008, Nokia. All rights reserved */

#include <avkon.hrh>
#include <aknnotewrappers.h> 

#include "FairyLand.pan"
#include "FairyLandAppUi.h"
#include "MemoHelpView.h"
#include "NewMemoView.h"
#include "MemoView.h"
#include "DataManagement.h"
#include "LogonView.h"
#include "GridView.h"
#include "RegisterView.h"
#include "ModifyMemoView.h"
#include "LookOverMemoView.h"
#include "MainHelpView.h"
#include "BookListView.h"
#include "BookOperationView.h"
#include <FairyLand.rsg>
#include <FairyLand.mbg>
#include "FairyLand.hrh"
#include "FairyLandApplication.h"
#include "SMSFunctionView.h"
#include "SMSOperationView.h"
#include "SMSListView.h"


void CFairyLandAppUi::ConstructL()
{
	BaseConstructL(EAknEnableSkin);
	
	iArray=new(ELeave) CArrayVarFlat<CDataManagemnet>(10);
	
	iMemoHelpView = CMemoHelpView::NewL();    
	AddViewL(iMemoHelpView);
	
	iNewMemoView = CNewMemoView::NewL();    
	AddViewL(iNewMemoView);
	
	iMemoView = CMemoView::NewL();    
	AddViewL(iMemoView);
	
	iRegisterView = CRegisterView::NewL();
	AddViewL(iRegisterView);
	
	iLogonView = CLogonView::NewL();
	AddViewL(iLogonView);
	
	iModifyMemoView = CModifyMemoView::NewL();
	AddViewL(iModifyMemoView);
	
	iLookOverMemoView = CLookOverMemoView::NewL();
	AddViewL(iLookOverMemoView);
	
	iGridView = CGridView::NewL();
	AddViewL(iGridView);
	
	iMainHelpView = CMainHelpView::NewL();
	AddViewL(iMainHelpView);
	
	m_pBookListView = CBookListView::NewL();    
	AddViewL(m_pBookListView);
	
	m_pBookOperationView = CBookOperationView::NewL(m_pBookListView);
	AddViewL(m_pBookOperationView);
	
	m_pSMSFunctionView = CSMSFunctionView::NewL();
	AddViewL(m_pSMSFunctionView);
	
	iSMSOperationView = CSMSOperationView::NewL();
	AddViewL(iSMSOperationView);
	
	iSMSListView = CSMSListView::NewL(iSMSOperationView);
	AddViewL(iSMSListView);
	
	//创建会话
	RFs iFession;
	User::LeaveIfError(iFession.Connect());
	
	RFileReadStream readStream;
	
	//以读取流文件的方式打开流文件
	//对应模拟器中路径:C:\Symbian\7.0s\Series60_v21_C\Epoc32\wins\c\testStream.str
	
	TBuf<KMaxPath> pathMbm;
#ifdef __WINS__
	pathMbm.Copy(_L("c:\\testStream.str"));
#else
	CFairyLandAppUi* pApp = (CFairyLandAppUi*)CEikonEnv::Static()->AppUi();
	pApp->GetAppPath(pathMbm);
	pathMbm.Append(_L("testStream.str"));
#endif
	if( KErrNone != readStream.Open(iFession,pathMbm, EFileRead))
	{
		//若文件打开失败,则先关闭会话再返回
		iFession.Close();
		SetDefaultViewL(*iRegisterView);
	}
	else
	{
		
		readStream.Release();
		readStream.Close();
		iFession.Close();
		SetDefaultViewL(*iLogonView);
	}
	
	
}

CFairyLandAppUi::CFairyLandAppUi()                              
{
	iLogonView = NULL;
	iRegisterView = NULL;
	iMemoHelpView=NULL;
	iNewMemoView=NULL;
	iGridView = NULL;
	m_pBookListView = NULL; 
	m_pBookOperationView = NULL; 
	m_pSMSFunctionView = NULL;
	iSMSOperationView=NULL;
	iSMSListView=NULL;	
	iMemoView=NULL;
	iArray=NULL;
    // add any construction that cannot leave here
}

CFairyLandAppUi::~CFairyLandAppUi()
{
	if (iArray!=NULL)
	{
		delete iArray;
		iArray=NULL;
	}
	
}

void CFairyLandAppUi::HandleCommandL(TInt aCommand)
{
    switch(aCommand)
	{
	case EEikCmdExit:
	case EAknSoftkeyExit:
		Exit();
		break;
		
	case EFairyLandCommand1:
		{
            _LIT(message,"Command 1");
            CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
            informationNote->ExecuteLD(message);
		}
		break;
		
	default:
		Panic(EFairyLandBasicUi);
		break;
	}
}


void CFairyLandAppUi::GetAppPath(TDes& aPath)
{
	TFileName appFullName;
	appFullName = Application()->AppFullName();
	TParsePtr parse(appFullName);
	aPath.Copy(parse.DriveAndPath());
}

CGulIcon* CFairyLandAppUi::LoadGraphicsL(TInt aType)
{
	TBuf<KMaxPath> pathAppMbm;
#ifdef __WINS__
	pathAppMbm.Copy(_L("z:\\system\\apps\\fairyland\\fairyland.mbm"));
#else
	GetAppPath(pathAppMbm);
	pathAppMbm.Append(_L("fairyland.mbm"));
#endif
	
	switch(aType)
	{
	case 0:
		return iEikonEnv->CreateIconL(pathAppMbm, EMbmFairylandGrid1/*, EMbmFairylandGrid_mask1*/);
	case 1:
		//return iEikonEnv->CreateIconL(pathAppMbm, EMbmMyhelloIcon_Grid_2);
		return iEikonEnv->CreateIconL(pathAppMbm, EMbmFairylandGrid2/*, EMbmFairylandGrid_mask2*/);
	case 2:
		//return iEikonEnv->CreateIconL(pathAppMbm, EMbmMyhelloIcon_Grid_2);
		return iEikonEnv->CreateIconL(pathAppMbm, EMbmFairylandGrid3/*, EMbmFairylandGrid_mask2*/);
		
	default:
		return NULL;
	}
}


CArrayVarFlat<CDataManagemnet>* CFairyLandAppUi::GetArray()
{
	return iArray;
}

void  CFairyLandAppUi::SetUIIndex(TInt nIndex)//..................................................
{
	uiIndex = nIndex;
}

TInt CFairyLandAppUi::GetUIIndex()
{
    return uiIndex;
}

⌨️ 快捷键说明

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