在wince與wm中,選單建立過程如下:
1 選單欄的建立 (1) win32 和 mfc 都適用的建立方式
/* 載入選單到視窗, 並返回選單視窗控制代碼 uimenuid 選單資源id pwnd 需要載入選單的視窗返回值 選單欄視窗控制代碼 */
hwnd menu_loadmenutownd( uint uimenuid, cwnd* pwnd )
return mbi.hwndmb; }
(2) 在mfc上, 也可以這樣建立選單 if (!m_dlgcommandbar.create(this) || !m_dlgcommandbar.insertmenubar(idr_menu_main)) //idr_menu_main 選單資源id 不過這樣建立的選單好像在動態改變選單項的時候比較麻煩 mfc下的對話方塊工程, 主視窗有個預設的選單idr_mainframe, 我試著在其上面直接新增選單項, 彷佛永遠都不起作用, 不知道怎麼回事. 2 獲取選單欄的左右選單控制代碼 在上一步建立的選單與win32 pc上建立的選單實際上是不同的, 在wm上要想操作子選單項, 還必須要先獲取子選單項的控制代碼 /* 由選單視窗控制代碼獲取右軟體選單控制代碼 hwnd, 選單欄視窗控制代碼返回值 左(右)軟鍵選單控制代碼 */ hmenu menu_getsk1frommenuhwnd( hwnd hwnd) ; tbbi.cbsize = sizeof(tbbuttoninfo); tbbi.dwmask = tbif_lparam | tbif_byindex; ::sendmessagew(hwnd, tb_getbuttoninfo, 1, (lparam)&tbbi); //0為左軟鍵,1為右軟鍵, return (hmenu)tbbi.lparam; }
3 選單項的編輯 sendmessagew傳送tb_setbuttoninfo可以修改左右軟鍵的屬性, 選中狀態, 以及是否disable等, 實際上這是按鈕, 而不是選單. 用enablemenuitem, checkmenuitem等這些api也可以編輯選單項. 在mfc工程中, 也可以cmenu::fromhandle後用 cmenu類來操作.
4 在wm5上, 好像一定要重寫oninitmenupopup這個函式後才能正確的編輯選單項
玩轉windows mobile選單
1.wm的選單比較特殊,首先要有乙個放置選單的地方,這就是 menu bar 乙個視窗,擁有視窗控制代碼 hwnd 可以通過 showwindow 來顯示和隱藏 a 系統缺省會建立乙個空的 menu bar 如在dialog 模式下,menu bar 上只顯示了乙個輸入法圖示,returns men...
Windows Mobile開發簡介
windows mobile開發簡介 簡單介紹windows mobile上的應用軟體開發過程 os windows mobile windows mobile上的應用軟體開發主要用visual c vb,visual c ide用visual studio 2005以上版本。helloworld ...
windows mobile傳送簡訊
windows mobile傳送簡訊應用分為兩種,一是呼叫windows mobile自有的傳送簡訊視窗,將接收使用者的手機號碼傳遞給該視窗,完成簡訊傳送,另一種是通過呼叫api將文字傳送給指定的號碼,這中傳送方式對於使用者是無感知的視窗簡訊 視窗簡訊實現比較簡單,可以直接使用下面的啟動引數啟動系統...