[翻譯]-Windows CE 程式設計 (3rd 版)–5.2 公用控制項(十一)

來源:互聯網
上載者:User

建立菜單條                                                                                                    翻譯:tellmenow
要建立菜單條,可以調用BOOL SHCreateMenuBar (SHMENUBARINFO *pmb);函數中唯一的參數是一個SHMENUBARINFO結構的的地址,該結構定義如下:
typedef struct tagSHMENUBARINFO {
DWORD cbSize;
HWND hwndParent;
DWORD dwFlags;
UINT nToolBarId;
HINSTANCE hInstRes;
int nBmpId;
int cBmpImages;
HWND hwndMB;
COLORREF clrBk;
}SHMENUBARINFO;

必須使用SHMENUBARINFO結構的尺寸來設定cbSize域。hwndParent設定為建立菜單條的視窗控制代碼。dwFlags則設定成三個標誌的組合:
SHCMBF_EMPTYBAR 用來建立沒有菜單的菜單條
SHCMBF_HIDDEN  建立一個菜單條,初始狀態為隱藏
SHCMBF_HIDESIPBUTTON 建立一個菜單,其右邊沒有SIP按鈕
SHCMBF_COLORBK 指出clrBk域中包含有效顏色,在填充菜單條背景時使用。
SHCMBF_HMENU  指出資源是菜單資源,而不是菜單條資源

除非指定了SHCMBF_EMPTYBAR標誌,否則你必須將nToolBarId網域設定成描述菜單條中菜單和按鈕結構的資源。除非使用了SHCMBF_HMENU標誌,否則該資源並不是簡單的菜單資源。該資源是一個普通資源資料快和菜單資源的組合,用來一起描述菜單條上的菜單以及按鈕位置。我將在本節後面描述該資源。

接下來是hInstRes域,應該設定成包含菜單條資源的模組的執行個體控制代碼。隨後的兩個域,nBmpId和cBmpImages,描述了用於定義菜單條上按鈕外觀的位元影像圖片。如果菜單條上有圖形按鈕,則可以將nBmpId設定成位元影像資源ID。該位元影像應該是16像素高,位元影像中的每個圖片應該是16像素寬。所以如果位元影像中有三個圖片,那麼位元影像應該是48像素寬,16像素高。cBmpImages網域設定成位元影像中圖片的數量。為了更有藝術性,請參考最新的應用程式指導,看看如何將位元影像同其它部分搭配的更恰當。

如果菜單條建立成功,SHCReateMenuBar函數返回TRUE,這時候,hwndMB域中將包含菜單條控制代碼。您需要儲存這個視窗控制代碼,因為一旦建立完成後,就沒有其它方式可以確定菜單條控制代碼了。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.