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

📄 bookinfoview.cpp

📁 symbian系统上的记事本程序
💻 CPP
字号:
/*
* ============================================================================
*  Name     : CBookInfoView from CAknView
*  Part of  : Hello
*  Copyright (c) 2003 Nokia. All rights reserved.
* ============================================================================
*/

// INCLUDE FILES
#include <aknviewappui.h>
#include <avkon.hrh>

#include <EveryDay.rsg>

#include "EveryDay.hrh"
#include "BookInfoView.h"
#include "BookInfoContainer.h" 
#include "EveryDayAppUi.h"
#include "TelBookView.h"
#include <avkon.hrh>
#include <aknnotewrappers.h>    // CAknErrorNote, CAknInformationNote
#include <eikmenup.h>
#include <akncontext.h>	//for CAknContextPane
#include <akntitle.h>	//for CAknTitlePane
#include <aknnotewrappers.h> 
#include <EveryDay.mbg>
#include "PHKServerBookEngine.h"

#include <eikenv.h>
#include <e32def.h>
#include <charconv.h>
#include <utf.h>
class MSendInfo;

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

// C++ default constructor can NOT contain any code, that
// might leave.
//
CBookInfoView* CBookInfoView::NewL()
{
    CBookInfoView* self = NewLC();
    CleanupStack::Pop(self);
    return self;
}

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

CBookInfoView::CBookInfoView()
{
}

// EPOC default constructor can leave.
void CBookInfoView::ConstructL()
{
    //BaseConstructL(R_HELLO_VIEW);
	BaseConstructL(R_BOOK_VIEW);
}

// Destructor
CBookInfoView::~CBookInfoView()
{
}

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

// ---------------------------------------------------------
// CBookInfoView::HandleCommandL(TInt aCommand)
// Handles commands
// ---------------------------------------------------------
void CBookInfoView::HandleCommandL(TInt aCommand)
{   
	switch(aCommand)
	{
	case ENewinfo:
		{
			if (nMenu == 0)
			{
				TBuf<16>strFirstname;
				TBuf<16>StrLastname;
				TBuf<16>StrTelphone;
				iContainer->GetEditInfo(strFirstname,StrLastname,StrTelphone);
				if (strFirstname.Length() != 0 && StrLastname.Length() !=0 && StrTelphone.Length() != 0)
				{
					CBookInfo* ptelbookInfo = NULL;
					ptelbookInfo = CBookInfo::NewL();
					ptelbookInfo->SetFirstName(strFirstname);
					ptelbookInfo->SetLastName(StrLastname);
					ptelbookInfo->SetTelephone(StrTelphone);
					ptelbookInfo->SetItemID(-1);
					m_pBookArray->Append(ptelbookInfo);	
				
					AppUi()->ActivateLocalViewL(KViewId10);
//					delete ptelbookInfo;
				}
				else
				{
					TBuf<16> empty;
					empty.Copy(_L("no empty"));
					//CEikonEnv::Static()->ReadResource(empty,R_MESSAGE_EMPTY);
					CAknInformationNote* note = new (ELeave) CAknInformationNote;
					note->ExecuteLD(empty);
					break;

				}
			
				
			}
			if(nMenu == 2)
			{
				TBuf<16>strFirstname;
				TBuf<16>StrLastname;
				TBuf<16>StrTelphone;
				iContainer->GetEditInfo(strFirstname,StrLastname,StrTelphone);
				CBookInfo* telbookInfo = CBookInfo::NewL();
				telbookInfo->SetFirstName(strFirstname);
				telbookInfo->SetLastName(StrLastname);
				telbookInfo->SetTelephone(StrTelphone);
				telbookInfo->SetItemID(-1);
				m_pBookArray->Append(telbookInfo);	
				
			
				AppUi()->ActivateLocalViewL(KViewId10);
				
			}
		
		
			
			break;
		}
        
	case EAknSoftkeyBack:
		AppUi()->ActivateLocalViewL(KViewId10);
		break;
	default:
		{
			AppUi()->HandleCommandL(aCommand);
			break;
		}
	}
}
// ---------------------------------------------------------
// CBookInfoView::HandleClientRectChange()
// Handles client rect change.
// ---------------------------------------------------------
void CBookInfoView::HandleClientRectChange()
{
    if (iContainer)
	{
        iContainer->SetRect(ClientRect());
		
	}
}

// ---------------------------------------------------------
// CBookInfoView::DoActivateL(...)
// Creates the Container class object.
// ---------------------------------------------------------
void CBookInfoView::DoActivateL(const TVwsViewId& /*aPrevViewId*/,
								TUid /*aCustomMessageId*/,
								const TDesC8& /*aCustomMessage*/)
{
    iContainer = new (ELeave) CBookInfoContainer;
    iContainer->SetMopParent(this);
	
	TRect rc;
	rc.SetRect(ClientRect().iTl, TSize(176, 144));
    iContainer->ConstructL(rc);
    AppUi()->AddToStackL(*this, iContainer);
	
	
	TBuf<KMaxPath> mbmPath;
	//		HBufC* pathMbm = HBufC::NewLC(KMaxPath);
#ifdef __WINS__
	mbmPath.Copy(_L("Z:\\system\\apps\\EveryDay\\EveryDay.mbm"));
#else
	CEveryDayAppUi* pApp = (CEveryDayAppUi*)CEikonEnv::Static()->AppUi();
	pApp->GetAppPath(mbmPath);
	mbmPath.Append(_L("EveryDay.mbm"));
#endif
	//		CFbsBitmap* pBackground = CEikonEnv::Static()->CreateBitmapL(*pathMbm, EMbmEverydaybackdrop.bmp);
	if (nMenu == 1)
	{
		CBookInfo* aBookInfo = (*m_pBookArray)[nPlace];
		TBuf <16> fbuf, fbuf1, fbuf2;
		fbuf.Copy(aBookInfo->GetFirstName()->Des());
		fbuf1.Copy(aBookInfo->GetLastName()->Des());
		fbuf2.Copy(aBookInfo->GetTelephone()->Des());
		iContainer->SetTxtInfo(fbuf,fbuf1,fbuf2);
		iContainer->EditReadonly();
		Cba()->SetCommandSetL(R_MESSAGE_OPEN_CBA);
		Cba()->DrawNow();

	}
	
	if (nMenu == 2)
	{
		CBookInfo* aBookInfo = (*m_pBookArray)[nPlace];
		TBuf <16> fbuf, fbuf1, fbuf2;
		fbuf.Copy(aBookInfo->GetFirstName()->Des());
		fbuf1.Copy(aBookInfo->GetLastName()->Des());
		fbuf2.Copy(aBookInfo->GetTelephone()->Des());
		iContainer->SetTxtInfo(fbuf,fbuf1,fbuf2);
		Cba()->SetCommandSetL(R_CBA_BOOK);
		Cba()->DrawNow();
		
	}
	CEikStatusPane* statusPane = StatusPane();
	CAknContextPane* contextPane = (CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
	
	CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(mbmPath, EMbmEverydayCard_icon);
	CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(mbmPath, EMbmEverydayCard_mask);
	
	contextPane->SetPicture(bitmap, bitmapMask);
	
	TBuf<32> nTitle;
	CEikonEnv::Static()->ReadResource(nTitle, R_BOOK_TITLE);
	CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
	titlePane->SetTextL(nTitle);
}

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

	}

}
void CBookInfoView::Setflag(TInt aflag)
{
	nMenu = aflag;
}

void CBookInfoView::SendBookInfo(RPointerArray<CBookInfo>* aBookInfoArray, TInt num)
{
	m_pBookArray = aBookInfoArray;
	nPlace = num;
}

// void CBookInfoView::GetTelBookInfo(TDes& strFirstname,TDes& StrLastname,TDes& StrTelphone)
// {
// 	iContainer->GetEditInfo(strFirstname,StrLastname,StrTelphone);
// 
// }
// End of File

⌨️ 快捷键说明

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