如何在smartphone中定义MenuBar的结构

 要在SP中使用SHCreateMenuBar来创建一个MenuBar,需要以下条件:

1)定义好Resource文件中的RC和RC2中的资源。

    YourAppName.rc:

-------------------------------------------------------------

     IDR_MENU2 MENU (这个Menu定义是未来显示右键弹出菜单的,IDR_MENU2为Resrouce_ID,在YouAppName.rc2 中会用到)
BEGIN
    POPUP "MenuRoot"  (subMenuIndex:0)
    BEGIN
        MENUITEM "MenuOne",                     ID_MENUROOT_MENUONE
        MENUITEM "MenuTwo",                     ID_MENUROOT_MENUTWO
        POPUP "MenuThrid"
        BEGIN
            MENUITEM "CAMENU1",                     ID_MENUTHRID_CAMENU1
            MENUITEM "CAMENU2",                     ID_MENUTHRID_CAMENU2
        END
    END
    POPUP "SecMenu" POPUP "MenuRoot"  (subMenuIndex:1)
    BEGIN
        MENUITEM "SEC_!",                       ID_SECMENU_SEC
        MENUITEM "SEX-2",                       ID_SECMENU_SEX
    END
END

--------------------------------------------------------------------------

YourAppName.rc2 中定义了SHMenuBar 的资源结构


IDR_MAINFRAME SHMENUBAR DISCARDABLE( IDR_MAINFRAME是SHCreateMemnuBar 中用到的结构SHMENUBARINFO要使用的RESOURCE ID,SHMENUBAR是资源类型,一定不能错。)
BEGIN
    IDR_MENU2, ( 这个是在RC文件中定义的要弹出的菜单Resourc ID)
    2,(显示一个按钮还是两个按钮)
   
    I_IMAGENONE, IDOK(这个是在程序中用到的ID来区分按了那个软键), TBSTATE_ENABLED(启用), TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE,
    IDS_OK(软键显示的字符串,这个跟Popup无关), 0, NOMENU(没有弹出菜单),
    I_IMAGENONE(SP中一定是这个值), IDM_RSKBUTTON, TBSTATE_ENABLED, TBSTYLE_DROPDOWN  | TBSTYLE_AUTOSIZE(有弹出菜单的话,一定是TBSTYLE_DROPDOWN),
    IDS_OK, 0, 1(这里是0还是1.或者2,n之类的书最重要,因为他决定着那个Popup对应的menu会显示出来。),
END
--------------------------------------------------


其实,在资源文件中,有RC和rc2区别,按照MSDN的说法,RC2只是为了方便定义一些少用的数据而来的,如果你想显示菜单,就必须对这两种文件的定义格式要很清楚。

比如,想显示2个按钮,和一个右键菜单。
注意: 一定不要以为右键菜单的顶头项(就是Popup项)就是右边的按钮。


IDR_MAINFRAME 是在创建SHMENUBAR时SHMENUBARINFO用到的ID
IDR_MENU2是弹出的菜单的ID(这个是要在资源文件中定义得)
IDM_LEFT是左键的BUTTON(这个ID,是在程序中捕捉得用户选择后的反应ID,就是用他来识别用户选择的)
IDM_RIGHT是右键的button(这个是最关键的,我一直搞混淆了,以为在rc资源编辑器里,设置了那个最顶的那个项这里就会自动的弹出菜单,这个也是一个UINT类型的值,而且,如果要弹出来,菜单的属性要设置对。)
TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE就是能弹出菜单的选项。


 

 

 

 

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值