配置單獨(dú)帶區(qū) 翻譯:tellmenow
進(jìn)行到這里時(shí),命令帶控件已經(jīng)創(chuàng)建,單獨(dú)單區(qū)已經(jīng)加到控件中了。接下來(lái)我們有更多的任務(wù)要做,就是去配置每個(gè)帶區(qū)中單獨(dú)的命令條控件。(實(shí)際上,配置命令條控件比起前面講述的命令條要略微復(fù)雜一些。)
可以使用下面的函數(shù)來(lái)獲取帶區(qū)中的命令條句柄:
HWND CommandBands_GetCommandBar (HWND hwndCmdBands, UINT uBand);
uBnad是包含該命令條的帶區(qū)的基于0的索引。當(dāng)命令帶控件被初始化時(shí)調(diào)用該函數(shù)的話,索引值直接同帶區(qū)加到控件的順序相關(guān)聯(lián)。然而,一旦用戶有機(jī)會(huì)拖拽帶區(qū)到一個(gè)新的順序,那您的應(yīng)用程序必須通過(guò)發(fā)送RB_IDTOINDEX消息給命令帶控件,以獲取索引值,如下所示:
nIndex = SendMessage (hwndCmdBands, RB_INTOINDEX, ID_BAND,0);
這個(gè)消息對(duì)治理帶區(qū)是很重要的,因?yàn)樵S多函數(shù)和消息都需要使用帶區(qū)索引來(lái)識(shí)別帶區(qū)。問(wèn)題在于索引值是不固定的,因?yàn)橛脩粢苿?dòng)帶區(qū)導(dǎo)致索引值變化。不要期望索引值是連貫的。作為一個(gè)規(guī)則,在沒(méi)有用RB_IDTOINDEX查詢索引值之前,不要盲目使用索引值。
一旦您獲得命令條窗口句柄,使用標(biāo)準(zhǔn)的命令條控件函數(shù)和消息,就可以很簡(jiǎn)單地把菜單或者按鈕加到命令條中了。大部分情況下,在第一個(gè)命令條中只加入菜單,在第二個(gè)中只加入按鈕,將其它控件加到第三個(gè)及后續(xù)命令條中。
下面的代碼完成了前面提到的創(chuàng)建過(guò)程。首先初始化了頭兩個(gè)帶區(qū)中的命令條控件。因?yàn)榈谌齻€(gè)帶區(qū)有編輯控件,所以不需要初始化該帶區(qū)。最后一行代碼是調(diào)用CommandBands_AddAdornments函數(shù)將關(guān)閉按鈕加到控件中。
// 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);
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注