下拉式方塊 (Windows 控制件)

本節包含與下拉式方塊搭配使用之程序設計項目的相關信息。 下拉式方塊是 COMBOBOX 類別所定義的唯一控件類型,結合了清單框和編輯控件的大部分功能。

概觀

主題 目錄
關於下拉式方塊 本節討論不同類型的下拉式方塊。
下拉式方塊功能 本文件討論下拉式方塊的功能。
使用下拉式方塊 本節中的程式代碼範例示範如何執行與下拉式方塊相關聯的工作。

函式

主題 目錄
DlgDirListComboBox 將下拉式方塊的內容取代為指定目錄中子目錄和檔案的名稱。 您可以藉由指定一組檔案屬性來篩選名稱清單。 名稱清單可以包含對應的驅動器號。
DlgDirSelectComboBoxEx 使用 DlgDirListComboBox 函式,從填滿的下拉式方塊擷取目前的選取範圍。 選取範圍會解譯為驅動器號、檔案或目錄名稱。
GetComboBoxInfo 擷取指定下拉式方塊的相關信息。

巨集

主題 目錄
ComboBox_AddItemData 在指定位置的下拉式方塊中,將專案數據加入清單。 您可以使用這個宏,或明確傳送 CB_ADDSTRING 訊息。
ComboBox_AddString 將字串新增至下拉式方塊中的清單。 如果下拉式方塊沒有 CBS_SORT 樣式,字串就會新增至清單結尾。 否則,字串會插入清單中,並排序列表。 您可以使用這個宏,或明確傳送 CB_ADDSTRING 訊息。
ComboBox_DeleteString 刪除下拉式方塊中清單中指定位置的專案。 您可以使用這個宏,或明確傳送 CB_DELETESTRING 訊息。
ComboBox_Dir 將名稱加入下拉式方塊所顯示的清單。 宏會新增符合指定字串和檔案屬性集的目錄和檔案名稱。 它也可以將對應的驅動器號新增至下拉式方塊中的清單。 您可以使用這個宏,或明確傳送 CB_DIR 訊息。
ComboBox_Enable 啟用或停用下拉式方塊控件。
ComboBox_FindItemData 尋找下拉式方塊清單中具有指定項目數據的第一個專案。 您可以使用這個宏,或明確傳送 CB_FINDSTRING 訊息。
ComboBox_FindString 尋找以指定字串開頭的下拉式方塊清單中的第一個字串。 您可以使用這個宏,或明確傳送 CB_FINDSTRING 訊息。
ComboBox_FindStringExact 在下拉式方塊清單中尋找完全符合指定字串的第一個字串,但搜尋不區分大小寫。 您可以使用這個宏,或明確傳送 CB_FINDSTRINGEXACT 訊息。
ComboBox_GetCount 取得下拉式方塊清單框中的項目數。 您可以使用這個宏,或明確傳送 CB_GETCOUNT 訊息。
ComboBox_GetCueBannerText 取得顯示在下拉式方塊編輯控件中的提示橫幅文字。 使用此宏或明確傳送 CB_GETCUEBANNER 訊息。
ComboBox_GetCurSel 取得下拉式方塊中目前選取專案的索引。 您可以使用這個宏,或明確傳送 CB_GETCURSEL 訊息。
ComboBox_GetDroppedControlRect 擷取下拉式方塊的螢幕座標,其已卸除狀態。 您可以使用這個宏,或明確傳送 CB_GETDROPPEDCONTROLRECT 訊息。
ComboBox_GetDroppedState 確定下拉式方塊控件中的下拉式清單是否可見。 您可以使用這個宏,或明確傳送 CB_GETDROPPEDSTATE 訊息。
ComboBox_GetExtendedUI 確定下拉式方塊是使用預設使用者介面 (UI) 還是擴充 UI。 您可以使用這個宏,或明確傳送 CB_GETEXTENDEDUI 訊息。
ComboBox_GetItemData 取得與下拉式方塊中指定清單專案相關聯的應用程式定義值。 您可以使用這個宏,或明確傳送 CB_GETITEMDATA 訊息。
ComboBox_GetItemHeight 擷取下拉式方塊中清單專案的高度。 您可以使用這個宏,或明確傳送 CB_GETITEMHEIGHT 訊息。
ComboBox_GetLBText 從下拉式方塊中的清單取得字串。 您可以使用這個宏,或明確傳送 CB_GETLBTEXT 訊息。
ComboBox_GetLBTextLen 取得下拉式方塊中清單中字串的長度。 您可以使用這個宏,或明確傳送 CB_GETLBTEXTLEN 訊息。
ComboBox_GetMinVisible 取得下拉式方塊下拉式清單中的可見項目數目下限。
ComboBox_GetText 從下拉式方塊控件擷取文字。
ComboBox_GetTextLength 取得下拉式方塊文字中的字元數。
ComboBox_InsertItemData 在指定位置的下拉式方塊中,於清單中插入項目數據。 您可以使用這個宏,或明確傳送 CB_INSERTSTRING 訊息。
ComboBox_InsertString 將字串加入至指定位置下拉式方塊中的清單。 您可以使用這個宏,或明確傳送 CB_INSERTSTRING 訊息。
ComboBox_LimitText 限制用戶可在下拉式方塊的編輯控制項中輸入的文字長度。 您可以使用這個宏,或明確傳送 CB_LIMITTEXT 訊息。
ComboBox_ResetContent 從清單框移除所有專案,並編輯下拉式方塊的控件。 您可以使用這個宏,或明確傳送 CB_RESETCONTENT 訊息。
ComboBox_SelectItemData 在下拉式方塊中搜尋具有指定項目數據的專案清單。 如果找到相符的專案,則會選取專案。 您可以使用這個宏,或明確傳送 CB_SELECTSTRING 訊息。
ComboBox_SelectString 在下拉式方塊中搜尋以指定字串字元開頭的項目清單。 如果找到相符的專案,則會選取專案。 您可以使用這個宏,或明確傳送 CB_SELECTSTRING 訊息。
ComboBox_SetCueBannerText 設定下拉式方塊編輯控件所顯示的提示橫幅文字。
ComboBox_SetCurSel 設定下拉式方塊中目前選取的專案。 您可以使用這個宏,或明確傳送 CB_SETCURSEL 訊息。
ComboBox_SetExtendedUI 針對具有CBS_DROPDOWN或CBS_DROPDOWNLIST樣式的下拉式方塊,選取預設使用者介面 (UI) 或擴充 UI。 您可以使用這個宏,或明確傳送 CB_SETEXTENDEDUI 訊息。
ComboBox_SetItemData 在下拉式方塊中設定與指定清單專案相關聯的應用程式定義值。 您可以使用這個宏,或明確傳送 CB_SETITEMDATA 訊息。
ComboBox_SetItemHeight 設定下拉式方塊中的清單專案或選取欄位的高度。 您可以使用這個宏,或明確傳送 CB_SETITEMHEIGHT 訊息。
ComboBox_SetMinVisible 設定下拉式方塊下拉式清單中的可見項目數目下限。
ComboBox_SetText 設定下拉式方塊的文字。
ComboBox_ShowDropdown 顯示或隱藏下拉式方塊中的清單。 您可以使用這個宏,或明確傳送 CB_SHOWDROPDOWN 訊息。

訊息

主題 目錄
CB_ADDSTRING 將字串加入下拉式方塊的清單框。 如果下拉式方塊沒有 CBS_SORT 樣式,字串就會新增至清單結尾。 否則,字串會插入清單中,並排序列表。
CB_DELETESTRING 刪除下拉式方塊清單框中的字串。
CB_DIR 將名稱加入下拉式方塊所顯示的清單。 訊息會新增符合指定字串和檔案屬性集的目錄和檔案名稱。 CB_DIR也可以將對應的驅動器號新增至清單。
CB_FINDSTRING 搜尋下拉式方塊的清單框,尋找以指定字串中的字元開頭的專案。
CB_FINDSTRINGEXACT 尋找下拉式方塊中的第一個清單框字串,該字串符合 lParam 參數中指定的字串。
CB_GETCOMBOBOXINFO 取得指定下拉式方塊的相關信息。
CB_GETCOUNT 取得下拉式方塊清單框中的項目數。
CB_GETCUEBANNER 取得顯示在下拉式方塊編輯控件中的提示橫幅文字。 使用 ComboBox_GetCueBannerText 宏明確傳送此訊息。
CB_GETCURSEL 應用程式會在下拉式方塊的清單框中傳送 CB_GETCURSEL 訊息,以擷取目前選取專案的索引。
CB_GETDROPPEDCONTROLRECT 應用程式會傳送 CB_GETDROPPEDCONTROLRECT 訊息,以擷取下拉式方塊的螢幕座標,其已卸除狀態。
CB_GETDROPPEDSTATE 判斷下拉式方塊的清單框是否已下拉。
CB_GETDROPPEDWIDTH 取得下拉式方塊清單框的最小允許寬度,以像素為單位,並具有CBS_DROPDOWNCBS_DROPDOWNLIST樣式。
CB_GETEDITSEL 取得下拉式方塊編輯控件中目前選取範圍的開始和結束字元位置。
CB_GETEXTENDEDUI 判斷下拉式方塊是否具有預設使用者介面或擴充用戶介面。
CB_GETHORIZONTALEXTENT 取得寬度,以像素為單位,清單框可以水平捲動(可捲動的寬度)。 只有當清單框有水平滾動條時,才適用。
CB_GETITEMDATA 應用程式會將CB_GETITEMDATA訊息傳送至下拉式方塊,以擷取與下拉式方塊中指定專案相關聯的應用程式提供值。
CB_GETITEMHEIGHT 決定下拉式方塊中清單專案或選取範圍欄位的高度。
CB_GETLBTEXT 從下拉式方塊清單中取得字串。
CB_GETLBTEXTLEN 取得下拉式方塊清單中字串的長度,以字元為單位。
CB_GETLOCALE 取得下拉式方塊的目前地區設定。 地區設定是用來判斷下拉式方塊顯示文字的正確排序順序,以及使用CB_ADDSTRING訊息新增的CBS_SORT樣式和文字。
CB_GETMINVISIBLE 取得下拉式方塊下拉式清單中的可見項目數目下限。
CB_GETTOPINDEX 應用程式會 傳送CB_GETTOPINDEX 訊息,以擷取下拉式方塊清單框中第一個可見專案之以零起始的索引。 一開始,索引0的專案位於清單框頂端,但如果清單框內容已捲動,另一個專案可能位於頂端。
CB_INITSTORAGE 應用程式會在 將大量專案新增至下拉式方塊的清單框部分之前,先傳送CB_INITSTORAGE 訊息。 此訊息會配置記憶體來儲存清單框專案。
CB_INSERTSTRING 將字串或項目數據插入下拉式方塊清單中。 不同於CB_ADDSTRING訊息,CB_INSERTSTRING訊息不會讓具有CBS_SORT樣式的清單排序。
CB_LIMITTEXT 限制用戶可在下拉式方塊的編輯控制項中輸入的文字長度。
CB_RESETCONTENT 從清單框移除所有專案,並編輯下拉式方塊的控件。
CB_SELECTSTRING 在下拉式方塊清單中搜尋以指定字串中的字元開頭的專案。 如果找到相符的專案,則會選取並複製到編輯控件。
CB_SETCUEBANNER 設定下拉式方塊編輯控件所顯示的提示橫幅文字。
CB_SETCURSEL 應用程式會傳送 CB_SETCURSEL 訊息,以選取下拉式方塊清單中的字串。 如有必要,清單會將字串卷動到檢視中。 下拉式方塊編輯控件中的文字會變更以反映新的選取範圍,並移除清單中任何先前的選取範圍。
CB_SETDROPPEDWIDTH 應用程式會傳送CB_SETDROPPEDWIDTH訊息,以像素為單位設定下拉式方塊清單框的最大允許寬度,CBS_DROPDOWNCBS_DROPDOWNLIST樣式。
CB_SETEDITSEL 應用程式會傳送 CB_SETEDITSEL 訊息,以在下拉式方塊的編輯控件中選取字元。
CB_SETEXTENDEDUI 應用程式會傳送CB_SETEXTENDEDUI訊息,以選取具有CBS_DROPDOWN或CBS_DROPDOWNLIST樣式的下拉式方塊的預設UI或擴充UI。
CB_SETHORIZONTALEXTENT 應用程式會 傳送CB_SETHORIZONTALEXTENT 訊息來設定寬度,以像素為單位,清單框可以水平捲動(可捲動的寬度)。 如果清單框的寬度小於此值,水準滾動條會水平卷動清單框中的專案。 如果清單框的寬度等於或大於此值,則會隱藏水準滾動條,或者,如果下拉式方塊具有 CBS_DISABLENOSCROLL 樣式,則會停用。
CB_SETITEMDATA 應用程式會傳送 CB_SETITEMDATA 訊息,以在下拉式方塊中設定與指定專案相關聯的值。
CB_SETITEMHEIGHT 應用程式會傳送 CB_SETITEMHEIGHT 訊息,以設定下拉式方塊中清單專案或選取字段的高度。
CB_SETLOCALE 應用程式會傳送 CB_SETLOCALE 訊息,以設定下拉式方塊目前的地區設定。 如果下拉式方塊具有使用 CB_ADDSTRING 新增CBS_SORT樣式和字元串,下拉式方塊的地區設定會影響清單專案排序的方式。
CB_SETMINVISIBLE 應用程式會傳送 CB_SETMINVISIBLE 訊息,以設定下拉式方塊下拉式清單中的可見項目數目下限。
CB_SETTOPINDEX 應用程式會 傳送CB_SETTOPINDEX 訊息,以確保下拉式方塊的清單框中可以看到特定專案。 系統會捲動清單框內容,使指定的專案出現在清單框頂端,或達到最大滾動範圍。
CB_SHOWDROPDOWN 應用程式會傳送 CB_SHOWDROPDOWN 訊息,以顯示或隱藏具有 CBS_DROPDOWNCBS_DROPDOWNLIST 樣式下拉式方塊的清單框。

Notifications

主題 目錄
CBN_CLOSEUP 當下拉式方塊的清單框關閉時,會 傳送CBN_CLOSEUP 通知碼。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_DBLCLK 當使用者 按兩下拉式方塊清單框中的字串時,就會傳送CBN_DBLCLK 通知碼。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_DROPDOWN 當下拉式方塊的清單框即將顯示時,就會 傳送CBN_DROPDOWN 通知碼。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_EDITCHANGE CBN_EDITCHANGE通知碼會在用戶採取動作之後傳送,該動作可能會改變下拉式方塊的編輯控件部分的文字。 不同於CBN_EDITUPDATE通知程式代碼,此通知碼會在系統更新畫面之後傳送。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_EDITUPDATE 當下拉式方塊的編輯控件部分即將顯示改變的文字時,就會 傳送CBN_EDITUPDATE 通知碼。 此通知程式代碼會在控件格式化文字之後傳送,但在顯示文字之前。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_ERRSPACE 當下拉式方塊無法配置足夠的記憶體以符合特定要求時,就會 傳送CBN_ERRSPACE 通知碼。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_KILLFOCUS 當下拉式方塊失去鍵盤焦點時,會 傳送CBN_KILLFOCUS 通知碼。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_SELCHANGE 當使用者 變更下拉式方塊清單框中目前的選取範圍時,就會傳送CBN_SELCHANGE 通知碼。 用戶可以按下清單框或使用箭頭鍵來變更選取範圍。 下拉式方塊的父視窗會以WM_COMMAND訊息的形式接收此通知,其中CBN_SELCHANGE wParam 參數的高序字組
CBN_SELENDCANCEL 當使用者選取專案時,會 傳送CBN_SELENDCANCEL 通知碼,但接著選取另一個控件或關閉對話方塊。 它表示要忽略使用者的初始選取範圍。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_SELENDOK 當使用者 選取清單專案,或選取專案,然後關閉清單時,就會傳送CBN_SELENDOK 通知碼。 它表示要處理用戶的選取範圍。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
CBN_SETFOCUS 拉式方塊收到鍵盤焦點時,會傳送CBN_SETFOCUS 通知碼。 下拉式方塊的父視窗會透過 WM_COMMAND 訊息接收此通知碼。
WM_COMPAREITEM 系統會傳送 WM_COMPAREITEM 訊息,以判斷新專案在擁有者繪製下拉式方塊或清單框的排序列表中相對位置。 每當應用程式新增新專案時,系統會將此訊息傳送給以CBS_SORT或LBS_SORT樣式建立的下拉式方塊或清單框的擁有者。
WM_DRAWITEM 按鈕、下拉式方塊、清單框或功能表的視覺層面變更時,WM_DRAWITEM 訊息會傳送至擁有者繪製按鈕、下拉式方塊、清單框或功能表的父視窗。
WM_MEASUREITEM 建立控件 或功能表時,會將WM_MEASUREITEM 訊息傳送至下拉式方塊、清單框、清單檢視控件或功能表項的擁有者視窗。

結構

主題 目錄
COMBOBOXINFO 包含下拉式方塊狀態資訊。
COMPAREITEMSTRUCT 提供已排序、擁有者繪製清單框或下拉式方塊中兩個專案的標識元和應用程式提供的數據。
DRAWITEMSTRUCT 提供擁有者視窗的必要資訊,以決定如何繪製擁有者繪製控件或功能表項。 擁有者繪製控件或功能表項的擁有者視窗會收到此結構的指標,做為WM_DRAWITEM訊息的 lParam 參數。
MEASUREITEMSTRUCT 通知系統擁有者繪製控件或功能表項的維度。 這可讓系統正確地處理使用者與控件的互動。

常數

主題 目錄
下拉式方塊樣式 若要使用 CreateWindow 或 CreateWindowEx 函式建立下拉式方塊,請指定 COMBOBOX 類別、適當的視窗樣式常數,以及下列下拉式方塊樣式的組合。