WEB开发网
开发学院手机开发Windows Mobile 开发 windows mobile 5.0 下创建菜单 阅读

windows mobile 5.0 下创建菜单

 2010-08-22 12:33:00 来源:WEB开发网   
核心提示:在开发时经常要创建菜单,并且动态显示和隐藏菜单或者是某个子菜单,windows mobile 5.0 下创建菜单,以下就是实现的方法:1,创建并显示菜单SHMENUBARINFO mbi;ZeroMemory(&mbi, sizeof(SHMENUBARINFO));mbi.cbSize=sizeof(SHMENUBA

在开发时经常要创建菜单,并且动态显示和隐藏菜单或者是某个子菜单。以下就是实现的方法:

1。创建并显示菜单

SHMENUBARINFO mbi;

ZeroMemory(&mbi, sizeof(SHMENUBARINFO));

mbi.cbSize=sizeof(SHMENUBARINFO);

mbi.hwndParent=m_hWnd;

mbi.hInstRes=::AfxGetInstanceHandle();

mbi.dwFlags=SHCMBF_HMENU|SHCMBF_HIDESIPBUTTON;//隐藏SIP

mbi.nToolBarId=IDR_MYMENU;

SHCreateMenuBar(&mbi);

2。隐藏菜单

HWND hwnd=::SHFindMenuBar(m_hWnd);

if(hwnd!=NULL)

::ShowWindow(hwnd,SW_HIDE);

3。隐藏某个子菜单

TBBUTTONINFO tbbi = {0};

tbbi.cbSize = sizeof(TBBUTTONINFO);

tbbi.dwMask = TBIF_LPARAM | TBIF_BYINDEX;

::SendMessageW(mbi.hwndMB, TB_GETBUTTONINFO,1, (LPARAM)&tbbi); //1为SK1,2为SK2

g_hMenu = (HMENU)tbbi.lParam;//g_hMenu为全局变量,这样就可以在任何地方隐藏子菜单了

EnableMenuItem(g_Menu,ID_TEST,MF_GRAYED);//隐藏子菜单

//显示子菜单 EnableMenuItem(g_Menu,ID_TEST,MF_ENABLED);

4。使某个SK不可用

::SHEnableSoftkey(mbi.hwndMB,0,TRUE,FALSE);

Tags:windows mobile 创建

编辑录入:coldstar [复制链接] [打 印]
赞助商链接