配置單獨帶區 翻譯:tellmenow
進行到這里時,命令帶控件已經創建,單獨單區已經加到控件中了。接下來我們有更多的任務要做,就是去配置每個帶區中單獨的命令條控件。(實際上,配置命令條控件比起前面講述的命令條要略微復雜一些。)
可以使用下面的函數來獲取帶區中的命令條句柄:
HWND CommandBands_GetCommandBar (HWND hwndCmdBands, UINT uBand);
uBnad是包含該命令條的帶區的基于0的索引。當命令帶控件被初始化時調用該函數的話,索引值直接同帶區加到控件的順序相關聯。然而,一旦用戶有機會拖拽帶區到一個新的順序,那您的應用程序必須通過發送RB_IDTOINDEX消息給命令帶控件,以獲取索引值,如下所示:
nIndex = SendMessage (hwndCmdBands, RB_INTOINDEX, ID_BAND,0);
這個消息對治理帶區是很重要的,因為許多函數和消息都需要使用帶區索引來識別帶區。問題在于索引值是不固定的,因為用戶移動帶區導致索引值變化。不要期望索引值是連貫的。作為一個規則,在沒有用RB_IDTOINDEX查詢索引值之前,不要盲目使用索引值。
一旦您獲得命令條窗口句柄,使用標準的命令條控件函數和消息,就可以很簡單地把菜單或者按鈕加到命令條中了。大部分情況下,在第一個命令條中只加入菜單,在第二個中只加入按鈕,將其它控件加到第三個及后續命令條中。
下面的代碼完成了前面提到的創建過程。首先初始化了頭兩個帶區中的命令條控件。因為第三個帶區有編輯控件,所以不需要初始化該帶區。最后一行代碼是調用CommandBands_AddAdornments函數將關閉按鈕加到控件中。
// Add menu to first band.
hwndBand = CommandBands_GetCommandBar (hwndCB, 0);
CommandBar_InsertMenubar (hwndBand, hInst, ID_MENU, 0);
// Add standard buttons to second band.
hwndBand = CommandBands_GetCommandBar (hwndCB, 1);
CommandBar_AddBitmap (hwndBand, HINST_COMMCTRL, IDB_STD_SMALL_COLOR, 15, 0, 0);
CommandBar_AddButtons (hwndBand, dim(tbCBStdBTns), tbCBStdBtns);
// Add exit button to command band.
CommandBands_AddAdornments (hwndCB, hInst, 0, NULL);
新聞熱點
疑難解答