翻譯:tellmenow
其它命令條函數
有許多其它函數用於協助管理命令條。CommandBar_Height函數返回命令條的高度,並且用於所有使用命令條的樣本程式中。同樣地,不論什麼時候使用命令條,都會用到CommandBar_AddAdornments函數。該函數原型如下:
BOOL CommandBar_AddAdornments (HWND hwndCB, DWORD dwFlags, DWORD dwReserved);
使用該函數,可以在命令條最右邊增加[關閉]按鈕、[協助]按鈕和[OK]按鈕。通過將參數dwFlags設定成CMDBAR_HELP來增加[協助]按鈕,設定成CMDBAR_OK來增加[OK]按鈕。
[協助]按鈕在處理上不同於命令條上的其它按鈕。當[協助]按鈕被壓下,命令條發送WM_HELP訊息給命令條的擁有者,而不是通常標準的WM_COMMAND訊息。[OK]按鈕則是按慣常的方式處理。當按下時,會發送一個帶控制項標識IDOK的WM_COMMAND訊息。必須當所有其它控制項添加以後,才可以調用CommandBar_AddAdornments函數。
如果頂層視窗是可調整大小的,那在處理WM_SIZE訊息時,必須給命令條發送一個TB_AUTOSIZE訊息並調用BOOL CommandBar_AlignAdornments (HWND hwndCB)函數,以此來通知命令條調整大小。該函數唯一的參數就是命令條控制代碼。
通過調用BOOL CommandBar_Show (HWND hwndCB, BOOL fShow)函數,可以隱藏或者顯示命令條。
fShow設定成TRUE則顯示命令條,設定成FALSE則隱藏命令條。
可以使用BOOL CommandBar_IsVisible (HWND hwndCB)函數來查詢命令條是否可視。
可以使用void CommandBar_Destory (HWND hwndCB)函數來銷毀命令條。
雖然當父視窗被銷毀的時會自動銷毀命令條,但是有時手工銷毀命令條會更方便一些。尤其是當應用程式的不同模式需要新的命令條的時候更是經常這麼做。當然,您可以先建立多個命令條,將其中一個顯示並隱藏其它的,隨後通過每次只顯示一個的方式來進行切換。但在Windows CE下這不是一個好的編程習慣,因為所有隱藏的命令條會佔用寶貴的RAM。恰當的方式是在閒置時候銷毀和建立一個命令條。可以很快的建立一個命令條,快到使用者不會察覺到有任何延遲。