About对话框的简单显示
下列简单示例演示了如何使用CAknMessageQueryDialog来显示你程序的关于对话框,这示例中的关于文本内容作为常量字符串定义的(你可以使用其他的替代),这话框的标题就是程序的名字:
文章信息
源代码
在你的l01文件中:
#define about_text "App Name\n"\
"Version x.xx.xxx\n"\
"For S60 Symbian OS 9\n"\
"\n"\
"(c) Author\n"\
"2009, All right reserved.\n"\
"\n"\
"EMail:\n"\
"your_address@mail.com"在rls文件中你需要包括必须的文件:
#ifdef LANGUAGE_01
#include "YourProject.l01"
#endif
在rss文件中需要如下定义:
#include "YourProject.rls"
RESOURCE TBUF r_about_text { buf = about_text; }
在程序的appui文件中定义如下:
#include <aknmessagequerydialog.h>
#include "YourRssFile.rsg"
void CYourClass::ShowAboutInfoL()
{
_LIT( KtxApplicationName, "Your App Name" );
TBuf<512> mess;
HBufC *aboutText = StringLoader::LoadLC(R_ABOUT_TEXT);
TPtr ptr = aboutText->Des ();
CAknMessageQueryDialog *dlg = CAknMessageQueryDialog::NewL(ptr);
dlg->PrepareLC(R_ABOUT_DIALOG);
dlg->SetHeaderTextL (KtxApplicationName);
dlg->RunLD();
CleanupStack::PopAndDestroy(aboutText);
}
资源定义
RESOURCE DIALOG r_about_dialog
{
flags=EEikDialogFlagNoDrag |EEikDialogFlagCbaButtons |EEikDialogFlagWait;
buttons = R_AVKON_SOFTKEYS_BACK;
items =
{
DLG_LINE
{
type = EAknCtPopupHeadingPane;
id = EAknMessageQueryHeaderId;
control = AVKON_HEADING
{
headinglayout = R_AVKON_LIST_HEADING_PANE_POPUPS;
};
},
DLG_LINE
{
type = EAknCtMessageQuery;
id = EAknMessageQueryContentId;
control = AVKON_MESSAGE_QUERY
{
message = "";
};
}
};
}


Hi,
Comments in English:
It is common for an application to have an "About" menu item in the application main menu, and when the user choose it the About dialog is shown to present version and other information about the application. This article described how to use CAknMessageQueryDialog to create an About dialog for your application, the description is clear, and the sample code can work on both emulator and target.
Comments in Chinese (中文评论):
Regards
Ziteng Chen