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

📄 aknexgridcontainer.cpp

📁 symbian 格子的生成和使用源代码 让你明白九宫格生成原理 适合游戏开发
💻 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 + -