我试图将等待对话框的图像(图标)从"Gear“图标更改为另一个图标,但我失败了,尽管我在书中引用了许多文章和示例:
RESOURCE DIALOG r_progressdlg_container_wait_dialog1
{
flags = EAknWaitNoteFlags;
buttons = R_AVKON_SOFTKEYS_CANCEL;
items =
{
DLG_LINE
{
id = EProgressdlgContainerViewWaitDialog1;
type = EAknCtNote;
control = AVKON_NOTE
{
layout = EWaitLayout;
singular_label = STR_progressdlgContainerView_10;
animation = R_QGN_GRAF_WAIT_BAR_ANIM;
};
},
DLG_LINE
{
id = EProgressdlgContainerViewWaitDialog1;
type=EEikCtImage;
control = IMAGE
{
horiz_align=EEikLabelAlignHRight;
vert_align=EEikLabelAlignVTop;
bmpfile = "\\resource\\apps\\progressdlg.mbm";
bmpid = EMbmProgressdlgList_icon;
bmpmask = EMbmProgressdlgList_icon_mask;
extension=0;
};
}
};
}下面是根据您支持的信息更新的代码,但是,对话框仍然显示默认图标"Gear",那么代码中有什么问题呢?
I使用Carbide.C++ 2.7,S60第5版SDK,在诺基亚E7 (Symbian^3)上进行测试
发布于 2011-06-22 21:21:01
您可以将图像替换为如下所示:
// CONSTANTS
#define AVKON_BMPFILE_NAME "\\resource\\apps\\avkon2.mbm"
...
RESOURCE DIALOG r_my_progress_note
{
flags = EAknProgressNoteFlags;
buttons = r_my_softkeys_cancel;
items =
{
DLG_LINE
{
type = EAknCtNote;
id = EMyCtrlIdProgressNote;
control = AVKON_NOTE
{
layout = EProgressLayout;
singular_label = STRING_r_exnt_progress_singular;
plural_label = STRING_r_exnt_progress_plural;
imagefile = AVKON_BMPFILE_NAME;
imageid = EMbmAvkonQgn_note_progress;
imagemask = EMbmAvkonQgn_note_progress_mask;
};
}
};
}Note示例应用程序在不同的对话框中有很多替换图像的示例。在S60第5版SDK中,您可以在以下几个方面找到:
C:\S60\devices\S60_5th_Edition_SDK_v1.0\S60CppExamples\Note您的.mbm或索引也可能有问题,所以首先尝试使用avkon2mbm。
发布于 2011-06-16 10:23:25
在我看来,你发布的代码适用于进度条动画,而不是图标。我猜你需要的是
DLG_LINE {
id=EDlgListBoxViewWaitDialog1;
type=EEikCtImage;
control = IMAGE
{
bmpfile = "example.mbm"; // Replace with your .mbm file
bmpid = mbmID; // // The id of the image
};
}还是把它设置成代码?
https://stackoverflow.com/questions/6277657
复制相似问题