工具列
本節包含與工具列控件搭配使用之程式設計專案的相關信息。
概觀
主題 | 目錄 |
---|---|
關於工具列控制件 | 工具列是包含一或多個按鈕的控制件。 當使用者按下每個按鈕時,會將命令訊息傳送至父視窗。 通常,工具列中的按鈕對應於應用程式功能表中的項目,為使用者提供其他更直接的方式來存取應用程式的命令。 |
使用工具列控制件 | 本主題包含在應用程式中使用工具列控件的實作詳細數據和範例程序代碼。 |
函式
主題 | 目錄 |
---|---|
CreateMappedBitmap | 建立點陣圖以用於工具列。 |
CreateToolbarEx | 建立工具列視窗,並將指定的按鈕新增至工具列。 注意: 此函式已被取代,因為它不支援工具列的所有功能。 請改用 CreateWindowEx。 如需範例,請參閱 使用工具列控件。 |
訊息
主題 | 目錄 |
---|---|
TB_ADDBITMAP | 將一或多個影像新增至工具列可用的按鈕影像清單。 |
TB_ADDBUTTONS | 將一或多個按鈕新增至工具列。 |
TB_ADDSTRING | 將新字串新增至工具列的字串集區。 |
TB_AUTOSIZE | 使工具列重設大小。 |
TB_BUTTONCOUNT | 擷取工具列中目前按鈕的計數。 |
TB_BUTTONSTRUCTSIZE | 指定 TBBUTTON 結構的大小。 |
TB_CHANGEBITMAP | 變更工具列中按鈕的點陣圖。 |
TB_CHECKBUTTON | 檢查或取消核取工具列中的指定按鈕。 |
TB_COMMANDTOINDEX | 擷取與指定命令標識符相關聯之按鈕之以零起始的索引。 |
TB_CUSTOMIZE | 顯示 [ 自訂工具列] 對話框。 |
TB_DELETEBUTTON | 從工具列刪除按鈕。 |
TB_ENABLEBUTTON | 啟用或停用工具列中的指定按鈕。 |
TB_GETANCHORHIGHLIGHT | 擷取工具列的錨點醒目提示設定。 |
TB_GETBITMAP | 擷取與工具列中按鈕相關聯的點陣圖索引。 |
TB_GETBITMAPFLAGS | 擷取旗標,描述要使用的點陣圖類型。 |
TB_GETBUTTON | 擷取工具列中指定按鈕的相關信息。 |
TB_GETBUTTONINFO | 擷取工具列中按鈕的擴充資訊。 |
TB_GETBUTTONSIZE | 擷取工具列按鈕的目前寬度和高度,以像素為單位。 |
TB_GETBUTTONTEXT | 擷取工具列上按鈕的顯示文字。 |
TB_GETCOLORSCHEME | 從工具列控件擷取色彩配置資訊。 |
TB_GETDISABLEDIMAGELIST | 擷取工具列控件用來顯示非使用中按鈕的影像清單。 |
TB_GETEXTENDEDSTYLE | 擷取工具列控件的延伸樣式。 |
TB_GETHOTIMAGELIST | 擷取工具列控件用來顯示作用中按鈕的影像清單。 |
TB_GETHOTITEM | 擷取工具列中作用中專案的索引。 |
TB_GETIDEALSIZE | 取得工具列的理想大小。 |
TB_GETIMAGELIST | 擷取工具列控件用來顯示其默認狀態按鈕的影像清單。 工具列控件會使用此影像清單在未作用中或停用時顯示按鈕。 |
TB_GETIMAGELISTCOUNT | 取得與工具列相關聯的影像清單數目。 |
TB_GETINSERTMARK | 擷取工具列目前的插入標記。 |
TB_GETINSERTMARKCOLOR | 擷取用來繪製工具列插入標記的色彩。 |
TB_GETITEMDROPDOWNRECT | 取得具有樣式 BTNS_DROPDOWN之工具列專案的下拉式視窗周框。 |
TB_GETITEMRECT | 擷取工具列中按鈕的周框。 |
TB_GETMAXSIZE | 擷取工具列中所有可見按鈕和分隔符的總大小。 |
TB_GETMETRICS | 擷取工具列控件的計量。 |
TB_GETOBJECT | 擷取工具列控件的 IDropTarget。 |
TB_GETPADDING | 擷取工具列控件的填補。 |
TB_GETPRESSEDIMAGELIST | 取得工具列控制項用來以按下狀態顯示按鈕的影像清單。 |
TB_GETRECT | 擷取指定工具列按鈕的周框。 |
TB_GETROWS | 擷取工具列中具有 TBSTYLE_WRAPABLE 樣式的按鈕列數。 |
TB_GETSTATE | 擷取工具列中指定按鈕狀態的相關信息,例如是否啟用、按下或核取。 |
TB_GETSTRING | 從工具列的字串集區擷取字串。 |
TB_GETSTYLE | 擷取目前用於工具列控件的樣式。 |
TB_GETTEXTROWS | 擷取可在工具列按鈕上顯示的最大文字數據列數目。 |
TB_GETTOOLTIPS | 擷取工具提示控件的句柄,如果有的話,與工具列相關聯。 |
TB_GETUNICODEFORMAT | 擷取 控件的 Unicode 字元格式旗標。 |
TB_HASACCELERATOR | 適用於內部用途;不建議在應用程式中使用。 擷取具有指定快捷鍵字元的工具列按鈕計數。 |
TB_HIDEBUTTON | 隱藏或顯示工具列中的指定按鈕。 |
TB_HITTEST | 判斷某個點位於工具列控件的位置。 |
TB_INDETERMINATE | 設定或清除工具列中指定按鈕的不確定狀態。 |
TB_INSERTBUTTON | 在工具列中插入按鈕。 |
TB_INSERTMARKHITTEST | 擷取工具列中某個點的插入標記資訊。 |
TB_ISBUTTONCHECKED | 判斷是否檢查工具列中的指定按鈕。 |
TB_ISBUTTONENABLED | 判斷工具列中的指定按鈕是否已啟用。 |
TB_ISBUTTONHIDDEN | 判斷工具列中的指定按鈕是否隱藏。 |
TB_ISBUTTONHIGHLIGHTED | 檢查工具列按鈕的醒目提示狀態。 |
TB_ISBUTTONINDETERMINATE | 判斷工具列中的指定按鈕是否不確定。 |
TB_ISBUTTONPRESSED | 判斷是否按下工具列中的指定按鈕。 |
TB_LOADIMAGES | 將系統定義的按鈕影像載入工具列控件的影像清單。 |
TB_MAPACCELERATOR | 決定對應至指定快捷鍵字元之按鈕的標識碼。 |
TB_MARKBUTTON | 設定工具列控制件中指定按鈕的醒目提示狀態。 |
TB_MOVEBUTTON | 將按鈕從一個索引移到另一個索引。 |
TB_PRESSBUTTON | 按下或放開工具列中的指定按鈕。 |
TB_REPLACEBITMAP | 以新的點陣圖取代現有的點陣圖。 |
TB_SAVERESTORE | 傳送此訊息以起始儲存或還原工具列狀態。 |
TB_SETANCHORHIGHLIGHT | 設定工具列的錨點醒目提示設定。 |
TB_SETBITMAPSIZE | 設定要新增至工具列的點陣圖影像大小。 |
TB_SETBOUNDINGSIZE | 適用於內部用途;不建議在應用程式中使用。 設定多欄工具列控制件的周框大小。 |
TB_SETBUTTONINFO | 設定工具列中現有按鈕的資訊。 |
TB_SETBUTTONSIZE | 設定工具列上的按鈕大小。 |
TB_SETBUTTONWIDTH | 設定工具列控制件中的最小和最大按鈕寬度。 |
TB_SETCMDID | 設定工具列按鈕的命令標識碼。 |
TB_SETCOLORSCHEME | 設定工具列控制件的色彩配置資訊。 |
TB_SETDISABLEDIMAGELIST | 設定工具列控制件將用來顯示已停用按鈕的影像清單。 |
TB_SETDRAWTEXTFLAGS | 設定工具列的文字繪圖旗標。 |
TB_SETEXTENDEDSTYLE | 設定工具列控制件的延伸樣式。 |
TB_SETHOTIMAGELIST | 設定工具列控制件將用來顯示作用中按鈕的影像清單。 |
TB_SETHOTITEM | 設定工具列中的作用中專案。 |
TB_SETHOTITEM2 | 設定工具列中的作用中專案。 |
TB_SETIMAGELIST | 設定工具列用來顯示處於預設狀態的按鈕的影像清單。 |
TB_SETINDENT | 設定工具列控制件中第一個按鈕的縮排。 |
TB_SETINSERTMARK | 設定工具列目前的插入標記。 |
TB_SETINSERTMARKCOLOR | 設定用來繪製工具列插入標記的色彩。 |
TB_SETLISTGAP | 設定特定工具列上工具列按鈕之間的距離。 |
TB_SETMAXTEXTROWS | 設定工具列按鈕上顯示的文字列數目上限。 |
TB_SETMETRICS | 設定工具列控制件的計量。 |
TB_SETPADDING | 設定工具列控件的邊框間距。 |
TB_SETPARENT | 設定工具列控制件傳送通知碼的視窗。 |
TB_SETPRESSEDIMAGELIST | 設定工具列用來顯示處於已按下狀態的按鈕的影像清單。 |
TB_SETROWS | 設定工具列中按鈕的數據列數目。 |
TB_SETSTATE | 設定工具列中指定按鈕的狀態。 |
TB_SETSTYLE | 設定工具列控件的樣式。 |
TB_SETTOOLTIPS | 將工具提示控制件與工具列產生關聯。 |
TB_SETUNICODEFORMAT | 設定控件的 Unicode 字元格式旗標。 此訊息可讓您在運行時間變更控件所使用的字元集,而不需要重新建立控件。 |
TB_SETWINDOWTHEME | 設定工具列控件的可視化樣式。 |
TB_TRANSLATEACCELERATOR | 將鍵盤訊息傳遞至工具列。 |
Notifications
主題 | 目錄 |
---|---|
NM_CHAR (工具列) | 當工具列收到 WM_CHAR 訊息時,由工具列傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_CLICK (工具列) | 當使用者按兩下具有滑鼠左鍵的專案時,由工具列控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_CUSTOMDRAW (工具列) | 由工具列傳送,以通知其父視窗繪圖作業。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_DBLCLK (工具列) | 通知工具列控制件的父視窗,使用者已按兩下控制件內的滑鼠左鍵。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_KEYDOWN (工具列) | 當控件具有鍵盤焦點,且使用者按下按鍵時,由控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_LDOWN | 通知工具列的父視窗已按下滑鼠左鍵。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_RCLICK (工具列) | 當使用者按兩下具有滑鼠右鍵的工具列時,由工具列控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_RDBLCLK (工具列) | 通知控制件的父視窗,使用者已按兩下控制件內的滑鼠右鍵。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_RELEASEDCAPTURE (工具列) | 通知工具列控件的父視窗,控件正在釋放滑鼠擷取。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
NM_TOOLTIPSCREATED (工具列) | 通知工具列的父視窗工具列已建立工具提示控制件。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_BEGINADJUST | 通知工具列的父視窗,用戶已開始自訂工具列。 此訊息碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_BEGINDRAG | 通知工具列的父視窗,使用者已開始拖曳工具列中的按鈕。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_CUSTHELP | 通知工具列的父視窗,使用者已在 [自訂工具列] 對話框中選擇 [說明] 按鈕。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_DELETINGBUTTON | 當按鈕即將刪除時,由工具列控件傳送。 |
TBN_DRAGOUT | 當使用者按鍵,然後將游標移出按鈕時,由工具列控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_DRAGOVER | 確定是否 應針對拖曳的按鈕傳送TB_MARKBUTTON 訊息。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_DROPDOWN | 當使用者按下拉式按鈕時,由工具列控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_DUPACCELERATOR | 確定快捷鍵是否可以在兩個以上的使用中工具列上使用。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_ENDADJUST | 通知工具列的父視窗,使用者已停止自訂工具列。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_ENDDRAG | 通知工具列的父視窗,使用者已停止拖曳工具列中的按鈕。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_GETBUTTONINFO | 擷取工具列自訂資訊,並通知工具列的父視窗對工具列所做的任何變更。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_GETDISPINFO | 擷取工具列項目的顯示資訊。 此通知會以WM_NOTIFY訊息的形式傳送。 |
TBN_GETINFOTIP | 擷取工具列專案的資訊提示資訊。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_GETOBJECT | 當指標通過其中一個按鈕時,使用 TBSTYLE_REGISTERDROP 樣式來要求置放目標物件的工具列控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_HOTITEMCHANGE | 當作用中 (反白顯示) 項目變更時,由工具列控件傳送。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_INITCUSTOMIZE | 通知工具列的父視窗,自定義已啟動。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_MAPACCELERATOR | 要求工具列中對應至指定快捷鍵字元之按鈕的索引。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_QUERYDELETE | 通知工具列的父視窗,當使用者自定義工具列時,是否可以從工具列中刪除按鈕。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_QUERYINSERT | 通知工具列的父視窗,當使用者自定義工具列時,是否可以將按鈕插入指定按鈕的左邊。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_RESET | 通知工具列的父視窗,使用者已重設 [自訂工具列] 對話框的內容。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_RESTORE | 通知工具列的父視窗,工具列正在還原。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_SAVE | 通知工具列的父視窗,工具列正在儲存。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_TOOLBARCHANGE | 通知工具列的父視窗,使用者已自定義工具列。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_WRAPACCELERATOR | 要求對應至指定快捷鍵字元之一或多個工具列中的按鈕索引。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
TBN_WRAPHOTITEM | 通知應用程式有兩個或多個工具列,熱專案即將變更。 此通知碼會以WM_NOTIFY訊息的形式傳送。 |
結構
主題 | 目錄 |
---|---|
COLORMAP | 包含 CreateMappedBitmap 函式用來對應點圖色彩的資訊。 |
NMTBCUSTOMDRAW | 包含工具列控件所傳送之NM_CUSTOMDRAW通知碼的特定資訊。 |
NMTBDISPINFO | 包含和接收工具列項目的顯示資訊。 此結構會與TBN_GETDISPINFO通知程式代碼搭配使用。 |
NMTBGETINFOTIP | 包含並接收工具列專案的資訊提示資訊。 此結構會與TBN_GETINFOTIP通知程式代碼搭配使用。 |
NMTBHOTITEM | 包含與TBN_HOTITEMCHANGE通知程式代碼搭配使用的資訊。 |
NMTBRESTORE | 允許應用程式擷取儲存工具列狀態時放在 NMTBSAVE 中的資訊。 當應用程式收到 TBN_RESTORE 通知程式代碼時,就會將這個結構傳遞至應用程式。 |
NMTBSAVE | 此結構會在應用程式收到 TBN_SAVE 通知程式代碼時傳遞至應用程式。 其中包含目前儲存按鈕的相關信息。 應用程式可以修改成員的值,以儲存其他資訊。 |
NMTOOLBAR | 包含用來處理工具列通知碼的資訊。 此結構取代 TBNOTIFY 結構。 |
TBADDBITMAP | 將包含按鈕影像的點陣圖新增至工具列。 |
TBBUTTON | 包含工具列中按鈕的相關信息。 |
TBBUTTONINFO | 包含或接收工具列中特定按鈕的資訊。 |
TBINSERTMARK | 包含工具列控制件中插入標記的資訊。 |
TBMETRICS | 定義用來壓縮或展開工具列專案的工具列計量。 |
TBREPLACEBITMAP | 與TB_REPLACEBITMAP訊息搭配使用,將一個工具列位圖取代為另一個工具欄位圖。 |
TBSAVEPARAMS | 指定登錄中 TB_SAVERESTORE 訊息儲存的位置,並擷取工具列狀態的相關信息。 |
常數
主題 | 目錄 |
---|---|
工具列按鈕狀態 | 本節列出工具列按鈕可以擁有的狀態。 |
工具列控件和按鈕樣式 | 下列視窗樣式是工具列特有的。 建立工具列時,它們會與其他視窗樣式結合。 注意 對於 Common Controls 6.00 版,如果 可視化樣式 與工具列搭配使用,無論樣式設定為何,按鈕一律都是透明的。 否則,透明度行為會正常,如使用TBSTYLE_FLAT或TBSTYLE_TRANSPARENT樣式所指示。 注意: Comctl32.dll第 6 版不可轉散發,但它包含在 Windows 或更新版本中。 若要使用第 6 版Comctl32.dll,請在指令清單中指定它。 如需指令清單的詳細資訊,請參閱 啟用可視化樣式。 |
工具列擴充樣式 | 本節列出工具列控件所支持的擴充樣式。 |
工具列標準按鈕影像索引值 | 本節會指定標準位圖內影像的索引值。 |