下拉式方塊 (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_DROPDOWN或CBS_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_DROPDOWN或CBS_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_DROPDOWN 或 CBS_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 類別、適當的視窗樣式常數,以及下列下拉式方塊樣式的組合。 |