組合框

組合框

組合框的風格取值定義了組合框的具體屬性,包括是否自動排序,是否有滾動條。

風格取描述

組合框 組合框

組合框的風格,取值如表所示。

CBS_AUTOHSCROLL 當用戶在編輯區域鍵入字元時,列表框自動滾動,使當前項的名稱與鍵入的字元排序相同

CBS_DROPDOWN 創建一個下拉式組合框

CBS_DROPDOWNLIST 創建一個下拉式列表框

CBS_HASSTRINGS 讓應用程式能夠使用GetText取得組合框裡的文本

CBS_OEMCONVERT 把輸入的文本將從ANSI碼轉換成OEM碼,然後又轉換成ANSI碼;這樣的目的是保證函式AnsiToOem的正確調用

CBS_OWNERDRAWFIXED 父視窗負責重畫組合框裡的各項,並使各項的高度一致

CBS_OWNERDRAWVARIABLE 父視窗負責重畫組合框裡的各項,各項的高度不一致

CBS_SIMPLE 組合框顯示所有的項,當前的選項在編輯區域中顯示

CBS_SORT 自動排序

CBS_DISABLENOSCROLL 組合框有垂直滾動條,當組合框的項不足時,滾動條激活;沒有該風格,則滾動條隱藏

CBS_NOINTEGRALHEIGHT 指定組合框的大小由程式精確控制,通常組合框的大小由組合框裡項的數目決定

創建一個組合框只需把CreateWindow的第一個參數設定為ComboBox,然後取表中的值即可。組合框創建後,需要初始化,即通過向組合框傳送CB_ADDSTRING增加最初的項,這類似於列表框。如果沒有定義CBS_SORT風格,新增的項將被增加到組合框的末尾。

應用程式的父視窗主要通過 WM_COMMAND訊息與組合框通信,應用程式可以用CB_FINDSTRINGEXACT搜尋指定的項,還可以傳送CB_DELETESTRING刪除指定的項,當需要刪除所有的項時,傳送訊息CB_RESETCONTENT即可。

組合框的編輯區域用來顯示當前選中的項或者編輯組合框裡沒有的項。可以用CB_LIMITTEXT來限制輸入文本的大小;為了獲得編輯區域的文本,可傳送CB_GETLBTEXT或者WM_GETTEXT訊息,這樣就把文本複製到指定的字元串中,當需要設定編輯區域的文本時,只需要傳送WM_SETTEXT訊息。

Windows API為組合框提供了檔案顯示和搜尋的功能,它們主要通過函式DlgDirListComboBox和DlgDirSelectComboBox來實現。

視窗取值描述

本節的應用程式中將用到這些函式,並把檔案的內容顯示在視窗里。

CB_ADDSTRlNG 增加一項

CB_DELETESTRING 刪除指定的項

CB_DIR 傳送搜尋目錄的訊息

CB_FINDSTRING 搜尋指定的項

CB_FINDSTRINGEXACT 精確搜尋指定的項

CB_GETCOUNT 得到組合框中項的數目

CB_GETCURSEL 得到當前選中項的序號

CB_GETEDITSEL 得到編輯區域選中的文本

CB_GETLBTEXT 得到編輯區域的文本

CB_GETLBTEXTLEN 得到編輯區域中文本的長度

CB_LIMITTEXT 傳送限制編輯區域文本的訊息

CB_RESETCONTENT 刪除所有的項

CB_SELECTSTRING 選中指定的字元串

CB_SETCURSEL 將游標設定在指定的位置

CB_SETDROPPEDWIDTH 設定下拉的寬度

CB_SETEDITSEL 選取編輯區域的文本

CBN_CLOSEUP 關閉組合框

CBN_DBLCLK 傳送用戶雙擊組合框中項的訊息

CBN_DROPDOWN 下拉時傳送訊息

CBN_EDITCHANGE 傳送編輯區域改變的訊息

CBN_EDITUPDATE 傳送編輯區域改變的訊息,但在更新之前傳送

CBN_ERRSPACE 傳送記憶體不夠的訊息

CBN_KILLFOCUS 當組合框失去輸入焦點時傳送該訊息

CBN_SETFOCUS 設定輸入焦點

相關詞條

相關搜尋

熱門詞條

聯絡我們