您的位置:首页 > 编程语言 > PHP开发

PocketPC2003上使用SHCreateMenuBar进行菜单显示的问题解决

2009-04-06 14:21 459 查看
在PocketPc2003上采用SHCreateMenuBar建立菜单,代码如下

SHMENUBARINFO mbi;
memset(&mbi, 0, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.hwndParent = m_hWnd;
mbi.nToolBarId = IDR_MAIN_MENUBAR;
mbi.hInstRes = hInstApp;
if (!SHCreateMenuBar(&mbi))
{
m_hWndMenuBar = NULL;
}
else
{
m_hWndMenuBar = mbi.hwndMB;
}
不管怎么修改在菜单条上显示的菜单总是不正确的。最后仔细的研究SHMENUBARINFO这个结构。发现其中有个dwFlags 没有进行设置,

This member contains one of the following values.
FlagDescription
SHCMBF_COLORBKSets the background color value for the menu bar.

采用 clrBk 值去设置菜单的背景颜色

SHCMBF_EMPTYBARCreates an empty menu bar.

建立一个空的菜单条

SHCMBF_HIDDENCreates the menu bar initially hidden.

建立一个菜单条初始状态为隐身

SHCMBF_HIDESIPBUTTONCreates the menu bar with no Input Panel button.

建立一个没有输入面板按钮的菜单条

SHCMBF_HMENUSpecifies an hmenu value for a resource rather than for toolbar information.

指定hmenu的值为菜单资源而不是菜单条信息

对于dwFlags参数可以采用|符号进行运算,例如。菜单中需要指定自己的菜单资源并且不需要输入面板按钮。则你可以把dwFlags=SHCMBF_HMENU|SHCMBF_HIDESIPBUTTON
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐