WEB开发网
开发学院手机开发Symbian 开发 Symbian 对话框用法 阅读

Symbian 对话框用法

 2010-03-05 06:11:00 来源:WEB开发网   
核心提示:// It's calculable from LAFbase_line_delta = 21;};tooltip = qtn_multipage_hint_text_edwin;},};}对话框类的实现对话框类的实现分为四个大步:1. 重写继承自CAknDialog的类,或直接使用CAknDialog2. 如

// It's calculable from LAF

base_line_delta = 21;

};

tooltip = qtn_multipage_hint_text_edwin;

},

};

}

对话框类的实现

对话框类的实现分为四个大步:

1. 重写继承自CAknDialog的类,或直接使用CAknDialog

2. 如果对话框控件需要用来自外部数据初始化,需要重写PressLayoutDynInitL()

3. 如果类是继承自CAknDialog,一般需要实现一个RunDlgLD()方法,方法中实例化一个对话框

,并使用相应对话框资源运行它

4. 如果需要保存控件的数据,需要重新OkToExitL()方法,该方法中保存数据,并判断是否退

下面是默认工程中About对话框的实现,可以理解上面文字的含义。

CAknMessageQueryDialog* dlg = new (ELeave) CAknMessageQueryDialog();//创建一个对话框

dlg->PrepareLC(R_ABOUT_QUERY_DIALOG); //预备对话框,用R_ABOUT_QUERY_DIALOG 来构造

HBufC* title = iEikonEnv->AllocReadResourceLC(R_ABOUT_DIALOG_TITLE);//读出资源数据

dlg->QueryHeading()->SetTextL(*title); //把文字写入顶部

CleanupStack::PopAndDestroy();

//title 由于R_ABOUT_DIALOG_TITLE资源的写入用AllocReadResourceLC

//Lc 结尾的函数不用显式的Del ,如果是L结尾的话 就要 调用 Delete(title)

HBufC* msg = iEikonEnv->AllocReadResourceLC(R_ABOUT_DIALOG_TEXT);

dlg->SetMessageTextL(*msg);//写入内容

CleanupStack::PopAndDestroy(); //msg

dlg->RunLD();//运行对话框

类定义的头文件示例如下:

Class CMyDialog::public CAknDialog

{

public:

// the static RunDlgLD launch function

static TInt RunDlgLD(TInt aResouceId);

private: // From CAknDialog

// base constructor - CAknDialog::CAknDialog() is used

// Destructor

~CMyDialog()

// the control initializer function

void PreLayoutDynInitL();

// the function that collects final control values as well as // checking

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Symbian 对话框 用法

编辑录入:coldstar [复制链接] [打 印]
赞助商链接