none
我创建了一个智能设备应用程序,然后拖了一个toolbar,在toolbar的button属性里增加几个成员,可是怎么看不见,很郁闷,求解!!! RRS feed

  • 问题

  • 我创建了一个智能设备应用程序,然后拖了一个toolbar,在toolbar的button属性里增加几个成员,可是怎么看不见,很郁闷,求解!!!

     

    2007年8月9日 5:48

答案

  • 这个问题我也遇到过,大致解决途径如下

    1.打开rc2文件 能看到类似内容

    //*.rc2
    IDR_MENU2 SHMENUBAR
    BEGIN
    IDR_MENU,
    1,

    I_IMAGENONE, IDM_START, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE,
    IDS_START, 0, NOMENU,

    END

    2.rc文件中菜单的定义
    //*.rc
    IDR_MENU MENU DISCARDABLE
    BEGIN
    MENUITEM "New", IDM_NEWITEM
    POPUP "Mode"
    BEGIN
    MENUITEM "Tasks", IDM_MODE_TASKS
    MENUITEM "Contacts", IDM_MODE_CONTACTS
    MENUITEM "Calendar", IDM_MODE_CALENDAR
    MENUITEM "Quit", IDM_QUIT
    END
    END

     

    3.假设我们想把rc中的菜单中“Mode”弹出菜单作为主菜单的第1项
    从“BEGIN”开始解释一下

    IDR_MENU :菜单名称,已在*.rc文件中定义(rc文件第一行)
    2 :实际菜单项的数量,这里可以大于2,但手机如果不是触摸屏恐怕无法操作
    I_IMAGENONE :菜单属性(无图标),不用修改
    IDM_START :菜单的ID,我们可以在这里取IDM_MODE。但由于“mode”的popup菜单,并没有ID值,

    必须在resource.h中加入IDM_MODE的定义
    TBSTATE_ENABLED :菜单属性(接受TAB切换),不用修改
    TBSTYLE_BUTTON :菜单属性(菜单项/弹出菜单)这里注意,如果是popup菜单,需要用

    TBSTYLE_DROPDOWN 。否则不用修改
    TBSTYLE_AUTOSIZE :菜单属性(自动调整大小),不用修改
    IDS_START :菜单显示的名称(字符串),需要在rc中添加。这里的名字可以不合RC中的一样

    (不叫“Mode”)
    0 :不清楚,不用修改
    NOMENU :如果是菜单项,设为NOMENU;如果是弹出菜单,这里设为菜单中的次序(0,1,

    2..) 这里我们要用的是第二项,设为1

    4.修改后的结果
    //*.rc2
    IDR_MENU2 SHMENUBAR
    BEGIN
    IDR_MENU,
    2,

    I_IMAGENONE, IDM_MODE, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MODE, 0, 1,

    I_IMAGENONE, IDM_START, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE,
    IDS_START, 0, NOMENU,
    END

    rc文件中需要添加串IDS_MODE
    //*.rc
    IDS_MODE "Mode"

    resource.h中需要添加IDS_MODE, IDM_MODE的定义

    2007年8月9日 5:59