首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Symbian更改“等待”对话框中的图像

如何使用Symbian更改“等待”对话框中的图像
EN

Stack Overflow用户
提问于 2011-06-08 10:58:20
回答 2查看 326关注 0票数 2

我试图将等待对话框的图像(图标)从"Gear“图标更改为另一个图标,但我失败了,尽管我在书中引用了许多文章和示例:

代码语言:javascript
复制
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)上进行测试

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-22 21:21:01

您可以将图像替换为如下所示:

代码语言:javascript
复制
//   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中,您可以在以下几个方面找到:

代码语言:javascript
复制
C:\S60\devices\S60_5th_Edition_SDK_v1.0\S60CppExamples\Note

您的.mbm或索引也可能有问题,所以首先尝试使用avkon2mbm。

票数 1
EN

Stack Overflow用户

发布于 2011-06-16 10:23:25

在我看来,你发布的代码适用于进度条动画,而不是图标。我猜你需要的是

代码语言:javascript
复制
DLG_LINE {
   id=EDlgListBoxViewWaitDialog1;
   type=EEikCtImage;
   control = IMAGE
   {
      bmpfile = "example.mbm"; // Replace with your .mbm file
      bmpid = mbmID; // // The id of the image
   };
}

还是把它设置成代码?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6277657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档