📄 aknexgridcontainer.cpp
字号:
/* Copyright (c) 2004, Nokia. All rights reserved */
// INCLUDE FILES
#include <eiklabel.h> // for example label control]
#include <coemain.h> //CoeEnv
#include <AknLists.h>
#include <Gulicon.h>
#include <AknGrid.h>
#include <AknSFld.h>
#include <AknExGrid.rsg>
#include "AknExGridContainer.h"
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
// CAknExGridContainer::NewL()
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CAknExGridContainer* CAknExGridContainer::NewL( const TRect& aRect )
{
CAknExGridContainer* self = NewLC( aRect );
CleanupStack::Pop( self );
return self;
}
// -----------------------------------------------------------------------------
// CAknExGridContainer::NewLC()
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CAknExGridContainer* CAknExGridContainer::NewLC( const TRect& aRect )
{
CAknExGridContainer* self = new ( ELeave ) CAknExGridContainer();
CleanupStack::PushL( self );
self->ConstructL( aRect );
return self;
}
// -----------------------------------------------------------------------------
// CAknExGridContainer::ConstructL()
// Symbian 2nd phase constructor can leave.
// -----------------------------------------------------------------------------
//
void CAknExGridContainer::ConstructL( const TRect& aRect )
{
CreateWindowL();
TBuf<KLengthOfLabelString> label;
TBuf<KLengthOfToDoLabelString> todolabel;
iLabel = new ( ELeave ) CEikLabel;
iLabel->SetContainerWindowL( *this );
iCoeEnv->ReadResource( label, R_EXGR_LABEL_VIEW_AS_MAIN );
iLabel->SetTextL( label );
iToDoLabel = new ( ELeave ) CEikLabel;
iToDoLabel->SetContainerWindowL( *this );
iCoeEnv->ReadResource( todolabel, R_EXGR_TODOLABEL_VIEW_AS_MAIN );
iToDoLabel->SetTextL( todolabel );
SetRect( aRect );
ActivateL();
}
// -----------------------------------------------------------------------------
// CAknExGridContainer::~CAknExGridContainer()
// Destructor.
// -----------------------------------------------------------------------------
//
CAknExGridContainer::~CAknExGridContainer()
{
delete iLabel;
delete iToDoLabel;
}
// -----------------------------------------------------------------------------
// CAknExGridContainer::SizeChanged()
// Called by framework when the view size is changed.
// -----------------------------------------------------------------------------
//
void CAknExGridContainer::SizeChanged()
{
iLabel->SetExtent( TPoint(KMainLabelX,KMainLabelY),
iLabel->MinimumSize() );
iToDoLabel->SetExtent( TPoint(KToDoLabelX,KToDoLabelY),
iToDoLabel->MinimumSize() );
}
// -----------------------------------------------------------------------------
// CAknExGridContainer::CountComponentControls()
// Returns number of components.
// -----------------------------------------------------------------------------
//
TInt CAknExGridContainer::CountComponentControls() const
{
//return nbr of controls inside this container
return KNumberOfComponentMain;
}
// -----------------------------------------------------------------------------
// CAknExGridContainer::ComponentControl()
// Returns pointer to a particular component.
// -----------------------------------------------------------------------------
//
CCoeControl* CAknExGridContainer::ComponentControl( TInt aIndex ) const
{
switch ( aIndex )
{
case ELabel:
return iLabel;
case EToDoLabel:
return iToDoLabel;
default:
return NULL;
}
}
// -----------------------------------------------------------------------------
// CAknExGridContainer::Draw()
// Draw function.
// -----------------------------------------------------------------------------
//
void CAknExGridContainer::Draw( const TRect& aRect ) const
{
CWindowGc& gc = SystemGc();
gc.SetPenStyle( CGraphicsContext::ENullPen );
gc.SetBrushColor( KRgbGray );
gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
gc.DrawRect( aRect );
}
// -----------------------------------------------------------------------------
// CAknExGridContainer::HandleControlEventL()
// Handles an event of type aEventType reported
// by the control aControl to this observer.
// -----------------------------------------------------------------------------
//
void CAknExGridContainer::HandleControlEventL(
CCoeControl* /*aControl*/, TCoeEvent /*aEventType*/ )
{
// No implementation required
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -