关闭

如何在Smartphone的Win32程序中使用Windows的通用菜单资源(MENU而不是SHMENUBAR)

539人阅读 评论(0) 收藏 举报
前一段由于时间比较忙没有将解决办法贴给大家,本人也只是经过一整天摸索,才对SHMENUBAR资源有些了解,现将源代码放出,希望对大家在写菜单程序的时候能有所帮助。

VS 2005 里生成的资源文件分为两部分,一个*.rc,一个*.rc2,在*.rc2中有一个SHMENUBAR的资源,我们可以将这个资源和普通菜单资源建立关联,下面是某个*.rc2资源里的一段代码,我加了注释:

/////////////////////////////////////////////////////////////////////////////
//
// Data
//

IDR_MENUBAR SHMENUBAR DISCARDABLE
BEGIN
IDR_MENU, // 与之对应的Windows菜单资源的ID
2, // 主菜单个数

// 子菜单1
I_IMAGENONE, // 应该是菜单位图的标志(没用到,应该是BITMAP的ID),
IDM_OPEN, // SHMENUBAR 资源的ID
TBSTATE_ENABLED, // 菜单项的最初状态
TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE, // 菜单的样式
// TBSTYLE_BUTTON 表示没有子项
// TBSTYLE_DROPDOWN 为包含子菜单的项
// TBSTYLE_AUTOSIZE为自动调整大小
IDS_OPEN, // 与菜单的文字对应的字符串资源中的ID
0, // 这个“0”一直也没搞懂
NOMENU, // 这个菜单项对应的Windows菜单资源中的从0开始的索引(NOMENU为-1,表示没有子菜单)

// 子菜单2
I_IMAGENONE,
IDM_OPTIONMENU,
TBSTATE_ENABLED,
TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
IDS_OPTION, 0, 1,

END

好,知道这些功能就可以很容易和 Windows 菜单建立关联了。

谢谢大家的支持,如果有什么问题可以给我发邮件,或者MSN,我们一块来研究解决
whikiey@hotmail.com 
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:77002次
    • 积分:999
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:24篇
    • 译文:1篇
    • 评论:29条
    最新评论
    OR Mapper