[Windows Mobile]windows mobile 5.0 下創(chuàng)建/隱藏菜單
在開發(fā)時(shí)經(jīng)常要?jiǎng)?chuàng)建菜單,并且動(dòng)態(tài)顯示和隱藏菜單或者是某個(gè)子菜單。以下就是實(shí)現(xiàn)的方法:
1.創(chuàng)建并顯示菜單
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.隱藏某個(gè)子菜單項(xiàng)
TBBUTTONINFO tbbi = {0};
tbbi.cbSize = sizeof(TBBUTTONINFO);
tbbi.dwMask = TBIF_LPARAM | TBIF_BYINDEX;
::SendMessageW(mbi.hwndMB, TB_GETBUTTONINFO,0, (LPARAM)&tbbi); //0為SK1,1為SK2(即左右軟鍵)
g_hMenu = (HMENU)tbbi.lParam;//g_hMenu為全局變量,這樣就可以在任何地方隱藏子菜單了
EnableMenuItem(g_Menu,ID_TEST,MF_GRAYED);//隱藏子菜單
//顯示子菜單
EnableMenuItem(g_Menu,ID_TEST,MF_ENABLED);
在使用語言Module時(shí),要注意庫中的ID與應(yīng)用程序中定義的ID是否一致。
4.使某個(gè)SK(Soft Key)不可用
::SHEnableSoftkey(mbi.hwndMB,0,TRUE,FALSE);
1.創(chuàng)建并顯示菜單
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.隱藏某個(gè)子菜單項(xiàng)
TBBUTTONINFO tbbi = {0};
tbbi.cbSize = sizeof(TBBUTTONINFO);
tbbi.dwMask = TBIF_LPARAM | TBIF_BYINDEX;
::SendMessageW(mbi.hwndMB, TB_GETBUTTONINFO,0, (LPARAM)&tbbi); //0為SK1,1為SK2(即左右軟鍵)
g_hMenu = (HMENU)tbbi.lParam;//g_hMenu為全局變量,這樣就可以在任何地方隱藏子菜單了
EnableMenuItem(g_Menu,ID_TEST,MF_GRAYED);//隱藏子菜單
//顯示子菜單
EnableMenuItem(g_Menu,ID_TEST,MF_ENABLED);
在使用語言Module時(shí),要注意庫中的ID與應(yīng)用程序中定義的ID是否一致。
4.使某個(gè)SK(Soft Key)不可用
::SHEnableSoftkey(mbi.hwndMB,0,TRUE,FALSE);
posted on 2008-07-02 17:09 郭天文 閱讀(1260) 評(píng)論(0) 編輯 收藏 引用

