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

📄 aknexformview.cpp

📁 symbian ui的 例子 初学者可以 好好看看,这个是培训的资料,应该比较宝贵
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/*  Copyright (c) 2005, Nokia. All rights reserved */

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

#include <eikmfne.h>
#include <eikedwin.h>
#include <eikcapc.h>

#include "AknExForm.hrh"
#include "AknExFormView.h"
#include "AknExFormContainer.h"

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

// ----------------------------------------------------------------------------
// CAknExFormView::CAknExFormView()
// Default constructor.
// ----------------------------------------------------------------------------
//
CAknExFormView::CAknExFormView()
: iContainer( NULL ), iCurrentOutline( EAknExFormCmdEmptyOutline )
    {
    }

// ----------------------------------------------------------------------------
// void CAknExFormView::ConstructL()
// Symbian constructor.
// ----------------------------------------------------------------------------
//
void CAknExFormView::ConstructL()
    {
    BaseConstructL( R_AKNEXFORM_VIEW );
    }

// ----------------------------------------------------------------------------
// CAknExFormView::~CAknExFormView()
// Destructor.
// ----------------------------------------------------------------------------
//
CAknExFormView::~CAknExFormView()
    {
    // Deletes the container class object.
    if ( iContainer )
        {
        // Removes container from view control stack.
        AppUi()->RemoveFromStack( iContainer );
        }
    delete iContainer;
    }

// ----------------------------------------------------------------------------
// void CAknExFormView::DisplayNextOutlineL()
//
// ----------------------------------------------------------------------------
//
void CAknExFormView::DisplayNextOutlineL()
    {
    switch ( iCurrentOutline )
        {
        case EAknExFormCmdEmptyOutline:
            HandleCommandL( EAknExFormCmdOutline02 );
            break;
        case EAknExFormCmdOutline02:
            HandleCommandL( EAknExFormCmdOutline14 );
            break;
        case EAknExFormCmdOutline14:
            HandleCommandL( EAknExFormCmdOutline16 );
            break;
        case EAknExFormCmdOutline16:
            HandleCommandL( EAknExFormCmdOutline22 );
            break;
        case EAknExFormCmdOutline22:
            HandleCommandL( EAknExFormCmdOutline25 );
            break;
        case EAknExFormCmdOutline25:
            HandleCommandL( EAknExFormCmdOutline29 );
            break;
        case EAknExFormCmdOutline29:
            HandleCommandL( EAknExFormCmdOutline31 );
            break;
        case EAknExFormCmdOutline31:
            HandleCommandL( EAknExFormCmdOutline52 );
            break;
        case EAknExFormCmdOutline52:
            HandleCommandL( EAknExFormCmdOutline54 );
            break;
        case EAknExFormCmdOutline54:
            HandleCommandL( EAknExFormCmdOutline55 );
            break;
        case EAknExFormCmdOutline55:
            HandleCommandL( EAknExFormCmdOutline57 );
            break;
        case EAknExFormCmdOutline57:
            HandleCommandL( EAknExFormCmdOutline68 );
            break;
        case EAknExFormCmdOutline68:
            HandleCommandL( EAknExFormCmdOutline70 );
            break;
        case EAknExFormCmdOutline70:
            HandleCommandL( EAknExFormCmdOutline83 );
            break;
        case EAknExFormCmdOutline83:
            HandleCommandL( EAknExFormCmdOutline102 );
            break;
        case EAknExFormCmdOutline102:
            HandleCommandL( EAknExFormCmdEmptyOutline );
            break;
        default:
            HandleCommandL( EAknExFormCmdEmptyOutline );
            break;
        }
    }

// ----------------------------------------------------------------------------
// CAknExFormView::Id()
// Returns ID of view.
// ----------------------------------------------------------------------------
//
TUid CAknExFormView::Id() const
    {
    return KViewId;
    }

// ----------------------------------------------------------------------------
// CAknExFormView::HandleCommandL()
// Handles the commands.
// ----------------------------------------------------------------------------
//
void CAknExFormView::HandleCommandL( TInt aCommand )
    {
    switch ( aCommand )
        {
        /* case EAknSoftkeyBack and EAknCmdExit
          are handled by the AppUi class.*/
        case EAknExFormCmdEmptyOutline:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_TITLE );
            break;
        case EAknExFormCmdOutline02:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( R_AKNEXFORM_TEXT_NUMBER_FIELD_DIALOG );
            break;
        case EAknExFormCmdOutline14:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( R_AKNEXFORM_MANY_ROW_FIELD_DIALOG );
            break;
        case EAknExFormCmdOutline16:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( R_AKNEXFORM_NAVIPANE_DIALOG );
            break;
        case EAknExFormCmdOutline22:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( 
                R_AKNEXFORM_TEXT_NUMBER_WITH_ICON_DIALOG );
            break;
        case EAknExFormCmdOutline25:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( R_AKNEXFORM_TEXT_NUMBER_FIELD_DIALOG );
            break;
        case EAknExFormCmdOutline29:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( R_AKNEXFORM_ALL_EDITOR_FIELD_DIALOG );
            break;
        case EAknExFormCmdOutline31:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( R_AKNEXFORM_TEXT_NUMBER_FIELD_DIALOG );
            break;
        case EAknExFormCmdOutline52:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( R_AKNEXFORM_SEPARATOR_FIELD_DIALOG );
            break;
        case EAknExFormCmdOutline54:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            iContainer->DisplayFormL( R_AKNEXFORM_NONE_FIELD_DIALOG );
            break;
        case EAknExFormCmdOutline55:
            iCurrentOutline = aCommand;
            IndicateTitlePaneTextL( aCommand );
            iContainer->SetTextToLabelL( R_AKNEXFORM_TEXT_LABEL_OPERATION );
            {
            CAknExFormAdd* form = new( ELeave ) CAknExFormAdd;
            CleanupStack::PushL( form );
            form->ConstructL();
            CleanupStack::Pop();

⌨️ 快捷键说明

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