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

📄 registview.cpp

📁 symbian控件的利用
💻 CPP
字号:
/*
* ============================================================================
*  Name     : CRegistView from CAknView
*  Part of  : Regist
*  Copyright (c) 2003 Nokia. All rights reserved.
* ============================================================================
*/

// INCLUDE FILES
#include <aknviewappui.h>
#include <avkon.hrh>
#include <akncontext.h>	
#include <akntitle.h> 
#include <aknnotewrappers.h> 
#include <eikmenup.h>

#include <LDMCM8.rsg>
#include <LDMCM8.mbg>

#include "LDMCM8.hrh"
#include "RegistView.h"
#include "RegistContainer.h" 
#include "LDMCM8AppUi.h"




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

CRegistView* CRegistView::NEWL()
{
	CRegistView* self = NEWLC();
	CleanupStack::Pop(self);
	return self;
}

CRegistView* CRegistView::NEWLC()
{
	CRegistView* self = new (ELeave) CRegistView;
	CleanupStack::PushL(self);
	self->ConstructL();
	return self;
}

// C++ default constructor can NOT contain any code, that
// might leave.
//
CRegistView::CRegistView()
{
	m_nMenuFlag = 0;
}

// EPOC default constructor can leave.
void CRegistView::ConstructL()
{
    BaseConstructL(R_REGIST_VIEW);//(R_AKNEXEDITOR_VIEW1);
}

// Destructor
CRegistView::~CRegistView()
{
    if (iContainer)
	{
        AppUi()->RemoveFromStack(iContainer);
	}
	
    delete iContainer;
}

// ---------------------------------------------------------
// TUid CRegistView::Id()
// Returns Id of the view.
// ---------------------------------------------------------
TUid CRegistView::Id() const
{
    return KViewId1;
}

// ---------------------------------------------------------
// CRegistView::HandleCommandL(TInt aCommand)
// Handles commands
// ---------------------------------------------------------
void CRegistView::HandleCommandL(TInt aCommand)
{   
	switch (aCommand)
	{
// 	case ERegistCmdSelectEdwin1:
// 	case ERegistCmdSelectGTextEd1:
// 		iContainer->FocusTo(aCommand);
// 		break;
		
	case ELDMCM8CmdRegistReg:
		{
			m_nMenuFlag = 1;
			TBuf<128> sTmpGetInfo;
			iContainer->GetInput(sTmpGetInfo,1);
			if (sTmpGetInfo.Length() == 0)
			{
				TBuf<64> sTmpInfo;
				CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_ERRORNAME);
				CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
				informationNote->ExecuteLD(sTmpInfo);
			}
			TBuf<64> sTmpGetInfo1;
			iContainer->GetInput(sTmpGetInfo,2);	
			iContainer->GetInput(sTmpGetInfo1,3);
			if (sTmpGetInfo.Length() == 0 || sTmpGetInfo1.Length() == 0)
			{
				TBuf<64> sTmpInfo;
				CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_ERRORPWD1);
				CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
				informationNote->ExecuteLD(sTmpInfo);
			} 
			else if (sTmpGetInfo.Length() != 6 || sTmpGetInfo1.Length() != 6)
			{
				TBuf<64> sTmpInfo;
				CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_ERRORPWD2);
				CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
				informationNote->ExecuteLD(sTmpInfo);
			}
			else if (sTmpGetInfo.Compare(sTmpGetInfo1))
			{
				TBuf<64> sTmpInfo;
				CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_ERRORPWD3);
				CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
				informationNote->ExecuteLD(sTmpInfo);				
			}
			else
			{
				TBuf<64> sTmpInfo;
				CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_REGIST_REGINFO);
				CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
				informationNote->ExecuteLD(sTmpInfo);				
			}

		}
		break;
// 	case ELDMCM8CmdRegistLog:
// 		
// 		break;
	case ELDMCM8CmdRegistHelp:
		{
			m_nMenuFlag = 0;
			TBuf<32> sTmpTitle;
			CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MCM_REGIST_HELPINFO);
 
			CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
			informationNote->ExecuteLD(sTmpTitle);
		}
		break;
	default:
		AppUi()->HandleCommandL(aCommand);
		break;
	}
}

// ---------------------------------------------------------
// CRegistView::HandleClientRectChange()
// Handles client rect change.
// ---------------------------------------------------------
void CRegistView::HandleClientRectChange()
{
    if (iContainer)
	{
        iContainer->SetRect(ClientRect());
	}
}

// ---------------------------------------------------------
// CRegistView::DoActivateL(...)
// Creates the Container class object.
// ---------------------------------------------------------
void CRegistView::DoActivateL(const TVwsViewId& /*aPrevViewId*/,
							  TUid /*aCustomMessageId*/,
							  const TDesC8& /*aCustomMessage*/)
{
    iContainer = new (ELeave) CRegistContainer;
    iContainer->SetMopParent(this);
	
	TRect rc;
	rc.SetRect(ClientRect().iTl, TSize(176, 144));
	
    iContainer->ConstructL(rc);
    AppUi()->AddToStackL(*this, iContainer);
	
	
	TBuf<KMaxPath> pathMbm;
#ifdef __WINS__
	pathMbm.Copy(_L("z:\\system\\apps\\LDMCM8\\LDMCM8.mbm"));
#else
	CLDMCM8AppUi* pApp = (CLDMCM8AppUi*)CEikonEnv::Static()->AppUi();
	pApp->GetAppPath(pathMbm);
    pathMbm.Append(_L("LDMCM8.mbm"));
#endif
	
	CEikStatusPane* statusPane = StatusPane();
	//modify icon by Miserce 2008-05-21
	CAknContextPane* contextPane = (CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
	CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmLdmcm8Registicon);
	contextPane->SetPicture(bitmap);
	// 	
	//modify Chinese title by Miserce 2008-05-21
	TBuf<32> sTmpTitle;
	CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MCM_REGIST_TITLE);
	CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
	titlePane->SetTextL(sTmpTitle);
	
	
}

// ---------------------------------------------------------
// CRegistView::DoDeactivate()
// Deletes the Container class object.
// ---------------------------------------------------------
void CRegistView::DoDeactivate()
{
    if (iContainer)
	{
        AppUi()->RemoveFromStack(iContainer);
	}
    
    delete iContainer;
    iContainer = NULL;
}

void CRegistView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
{
 	if(aResourceId != R_MCM_REGIST_MENU) 
		return;

	
	aMenuPane->SetItemDimmed(ELDMCM8CmdRegistReg,				EFalse);
 	aMenuPane->SetItemDimmed(ELDMCM8CmdRegistHelp,				EFalse);
	switch(m_nMenuFlag)
	{
	case 0:
 		aMenuPane->SetItemDimmed(ELDMCM8CmdRegistLog,			ETrue);
		break;
	case 1:
		aMenuPane->SetItemDimmed(ELDMCM8CmdRegistLog,			EFalse);
		break;
	default:
	    break;
	}	
}

// End of File

⌨️ 快捷键说明

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