Symbian 对话框用法
2010-03-05 06:11:00 来源:WEB开发网TBool OkToExitL(TInt aButtonId);
private:
//data items
};
另外,还有一些方法可用来初始化对话框或对对话框数据进行有效性校验。这些看着不是很懂 新手可以跳过
PostLayoutDynInitL()
与PreLayoutDynInitL()不同的是,PreLayoutDynInitL()是在对话框sized和layed out之前被调用的;
PostLayoutDynInitL()是在sized和layed out之后,但在actived之前被调用。
SetInitialCurrentLine()
设置第一个获取焦点的对话框行。默认情况下,第一个对话框页的第一行获取焦点。子类可
以重写该方法,但子类必须通过调用ActivateFirstPageL()来激活对话框页
HandleControlStateChangeL()
重写后处理控件状态的变化。这个方法在控件的事件类型为EEventStateChanged被调用。
PageChangedL(TInt aPageId )
切换到指定对话框页时被调用,默认为空。
LineChangedL(TInt aControlId )
切换到指定对话框行时被调用,默认为空。
PrepareForFocusTransitionL()
切换行的时候被调用,可以用来校验当前控件的内容是否合法等。
对话框类方法的实现
1. RunDlgLD()
TInt CMyDialog::RunDlgLD()
{
CMyDialog* dlg = new (ELeave) CMyDialog();
return dlg->ExecuteLD(R_DEMO_SINGLEPAGE_DIALOG);
}
2. PreLayoutDynInitL()
void CMyDialog::PreLayoutDynInitL()
{
// Get the Number1 editor control
CEikNumberEditor* editor1 = (CEikNumberEditor*) Control(ESinglePageDlgC1Id);
// Set the value to the Number1 editor
editor1->SetNumber(100);
// Get the Number2 editor control
CEikNumberEditor* editor2 = (CEikNumberEditor*) Control(EsinglePageDlgC2Id);
// Set the value to the Number2 editor
editor2->SetNumber(200);
}
3. OkToExitL()
TBool CMyDialog::OkToExitL (TInt aButtonId)
{
// Get the Number1 editor control
更多精彩
赞助商链接