如何在smartphone中定义MenuBar的结构

原创 2006年06月19日 18:56:00

 要在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就是能弹出菜单的选项。


 

 

 

 

 

窗口都增加一个Menubar.docx

  • 2011年06月09日 14:30
  • 35KB
  • 下载

Python MenuBar Menu 添加

这个例子是关于MenuBar和Menu的建立规则:1、首先要建立MenuBar对象,然后建立Menu对象2、将Menu对象添加到MenuBar对象中,用Append方法3、向Menu对象中添加子菜单项...

Qt4 Menubar and Toolbar

在这篇文章中,基本实现了Menubar和Toolbar的功能,但还很不成熟,需要以后修正,仅为以后参考。 另外,所创建的工程简单照搬了Qt Demos中browser的搜索框,以添加一个简单功能。 ...

Vaadin Web应用开发教程(20):UI组件-MenuBar组件

MenuBar 用来创建下拉菜单,类似桌面应用的菜单显示。 使用MenuBar首先创建MenuBar的实例: // Create a menu bar final MenuBar menubar ...

menubar_rebar_rightclick

  • 2010年12月08日 10:45
  • 45KB
  • 下载

menubar

  • 2008年01月29日 12:59
  • 72KB
  • 下载

smartphone sensor(智能手机传感器)

1、proximity sensor(p-sensor) 接近传感器。 作用例如打电话的时候可以检测手机是否接近耳朵。 2、gravity sensor(g-sensor) 重力传感器。 它...
  • ican87
  • ican87
  • 2014年05月22日 16:20
  • 1697

Flex MenuBar小例子

  • 2013年05月19日 15:43
  • 2KB
  • 下载

Windows Smartphone 嵌入map html 页面

前言:开发架构 BS&CS ;WEB:
  • boonya
  • boonya
  • 2014年06月23日 15:59
  • 818

搭建Android真机管理平台(Smartphone)

一、安装步骤 1. JDK和Android SDK环境安装 JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在smartphone中定义MenuBar的结构
举报原因:
原因补充:

(最多只允许输入30个字)