[樣式]
#define cbs_****** //輸入框和列表框同時被顯示
#define cbs_dropdown 下拉式組合框,但是輸入框內可以進行輸入
#define cbs_dropdownlist 下拉式組合框,但是輸入框內不能進行輸入
#define cbs_ownerdrawfixed 列表項是固定高度,在自繪中
#define cbs_ownerdrawvariable 列表項是可變高度,在自繪中
#define cbs_autohscroll 當樣式為cbs_******或cbs_dropdown,且輸入文字超過可顯示範圍時,自動向右滾動文字。
#define cbs_oemconvert 使編輯框元件中的正文可以在ansi 字符集和oem字符集之間相互轉換。這在編輯框中包含檔名時是很有用的
#define cbs_sort 自動排序輸入的字串到列表框中
#define cbs_hasstrings 指定乙個含有字串的自繪式組合框
#define cbs_nointegralheight 組合框的尺寸由應用程式而不是windows 指定,通常,由windows指定尺寸會使列表項的某些部分隱藏起來
#define cbs_disablenoscroll 使列表框在不需要滾動時顯示乙個禁止的垂直滾動條
#define cbs_uppercase 將編輯框和列表框中的所有文字都自動轉換為大寫字元
#define cbs_lowercase 將編輯框和列表框中的所有文字都自動轉換為小寫字元
[通知碼]
cbn_closeup:組合框的列表框元件被關閉,簡易組合框不會傳送該通知訊息
cbn_dblclk:使用者在某列表項上雙擊滑鼠,只有簡易組合框才會傳送該通知訊息
cbn_dropdown:組合框的列表框元件下拉,簡易式組合框不會傳送該通知訊息
cbn_editupdate:在編輯框準備顯示改變了的正文時傳送該訊息,下拉列表式組合框不會傳送該訊息
cbn_editchange:編輯框的內容被使用者改變了,與cbn_editupdate不同,該訊息是在編輯框顯示的正文被重新整理後才發出的,下拉列表式組合框不會傳送該訊息
cbn_errspace:組合框無法申請足夠的記憶體來容納列表項
cbn_selendcancel:表明使用者的選擇應該取消,當使用者在列表框中選擇了一項,然後又在組合框控制項外單擊滑鼠時就會導致該訊息的傳送
cbn_selendok:使用者選擇了一項,然後按了回車鍵或單擊了下滾箭頭,該訊息表明使用者確認了自己所作的選擇
cbn_killfocus:組合框失去了輸入焦點
cbn_selchange:使用者通過單擊或移動箭頭鍵改變了列表的選擇
cbn_setfocus:組合框獲得了輸入焦點
[訊息]
cb_geteditsel 當樣式為cbs_smiple或cbs_dropdown時獲取輸入框中被選文字的開始-結束位置。
int a=sendmessage(combobox1,cb_geteditsel,null,null); //loword(a)起始,hiword(a)結束
cb_limittext 當樣式為cbs_smiple或cbs_dropdown時限制輸入框文字的長度。
sendmessage(combobox1,cb_geteditsel,16,null);
cb_seteditsel 當樣式為cbs_smiple或cbs_dropdown時設定一段選中字元。sendmessage(combobox1,cb_geteditsel,0,5);
cb_addstring 新增字串專案
cb_deletestring 刪除字串專案
cb_dir 應用程式傳送lb_dir訊息向列表框新增(驅動器或資料夾或檔案)列表,wparam應設定為檔案屬性,lparam設定為過濾器
檔案屬性:
wparam引數的值。指定檔案的屬性被新增到列表框中。這個引數可以是下列值的組合:值描述
ddl_archive包括歸檔檔案。
ddl_directory包括子目錄。子目錄名被括在方括號()。
ddl_drives包括驅動器。驅動形式列出[
-x],其中x是驅動器碟符。
ddl_exclusive只包括具有指定屬性的檔案。預設情況下,讀寫檔案列出,即使沒有指定ddl_readwrite。
ddl_hidden包括隱藏檔案。
ddl_readonly包括唯讀檔案。
ddl_readwrite包括讀寫檔案沒有附加屬性。
ddl_system包括系統檔案。 例:
//列出c盤所有子目錄和檔案(包括隱藏檔案和系統檔案),返回值為最末項的索引號
int n=sendmessage(listbox1,cb_dir,ddl_archive|ddl_directory|ddl_hidden|ddl_system,text("c:\\*.*"));
//列出硬碟所有分割槽,返回值為最末項的索引號
int n=sendmessage(listbox1,cb_dir,ddl_archive|ddl_drives,text(""));
cb_getcount 返回列表框所有專案數。sendmessage( listhwnd,cb_getcount,0,0 );
cb_getcursel返回從0開始的選中項索引值 ,沒有選中項返回-1
cb_getlbtext 將第n項中的文字放入快取區並返回該項上的字串長度。int ilength=sendmessage(combobox1,cb_getlbtext,n,sztemp);
cb_getlbtextlen 得到第n項的文字長度int n=sendmessage(combobox1,cb_getlbtextlen,n,null);
cb_insertstring 插入字串項,sendmessage( combobox1,cb_insertstring,1,text("e") );//在索引位置1處插入
cb_resetcontent刪除所有項,sendmessage( combobox1,cb_resetcontent,0,0 );
cb_findstring 從起始位置n開始查詢匹配項,並返回匹配成功的索引號。
int ilength=sendmessage(combobox1,cb_findstring,n,text("關鍵字") );
cb_selectstring 應用程式傳送lb_selectstring的資訊搜尋單選列表框中指定的字串中的字元開頭的專案。如果找到匹配的專案,該專案被選中。wparam開始搜尋的項索引號,lparam要搜尋字串。如果搜尋成功,則返回值是所選項目的索引。如果搜尋不成功,則返回值是lb_err並不會改變當前選擇。
cb_setcursel 選中單選組合框中某項,sendmessage( cbhwnd,cb_setcursel,2,0 );//選中第2項
cb_showdropdown 顯示或隱藏組合框,sendmessage( cbhwnd,cb_showdropdown,true,0 )
cb_getitemdata 得到組合框中某項的值,而非文字
cb_setitemdata 設定組合框中某項的值,而非文字
cb_getdroppedcontrolrect 返回組合框下拉列表框的螢幕座標到乙個矩形中,sendmessage( cbhwnd,cb_getdroppedcontrolrect,0,&rect )
cb_setitemheight 當組合框為cbs_ownerdrawvariable風格時,設定列表項的高度,以畫素為單位
cb_getitemheight 當組合框為cbs_ownerdrawvariable風格時,返回列表項的高度,以畫素為單位
cb_setextendedui 設定組合框是否用擴充套件使用者介面,設定為true時用↓鍵開啟下拉列表框,為false時用f4鍵開啟下拉列表框,sendmessage(combobox1,cb_setextendedui,true,0);
cb_getdroppedstate 得到組合框是否用擴充套件使用者介面,返回true或false
cb_findstringexact 返回索引號,該項精確匹配要查詢的字串,不區分大小寫。例如查詢所有列表項中是否有"abc"
int nindex=sendmessage(combobox1,cb_findstringexact,-1,text("abc"));
cb_setlocale 此訊息設定列表框中的當前地區。高位字包含國家**,低位字包含的語言識別符號。請使用巨集makelcid地區構造識別符號和的makelangid巨集來構造語言識別。
cb_getlocale 此訊息檢索列表框中的當前地區。返回值:高位字包含國家**,低位字包含的語言識別符號。巨集primarylangid獲得的主要語言識別符號和的sublangid巨集獲得子語言識別符號。
cb_gettopindex 得到列表框中第乙個可見專案的索引。
cb_settopindex 設定列表框中第乙個可見專案的索引。
cb_gethorizontalextent 返回列表框水平滾動的寬度,以畫素為單位。
cb_sethorizontalextent 設定列表框水平滾動的寬度,以畫素為單位。
cb_getdroppedwidth 檢索允許的最小寬度,以畫素為單位。當組合框風格為cbs_dropdown或cbs_dropdownlist時。預設情況下最小寬度為0
cb_setdroppedwidth 設定允許的最小寬度,以畫素為單位。當組合框風格為cbs_dropdown或cbs_dropdownlist時。預設情況下最小寬度為0
cb_initstorage 當新增大量的專案時,此訊息先初始化專案的數量和分配記憶體,然後再新增列表框。能提高效能。
wparam:要新增的專案數量
lparam:分配的記憶體量,以位元組為單位
win32 控制項操作
int getwindowtext hwnd hwnd,lptstr lpstring,int nmaxcount boolsetwindowtext hwndhwnd,lpctstrlpstring 問題 如下,vc6 問題描述請看注釋.char sztext 256 wparam wparam ...
Win32控制項使用 Edit控制項
drecik學習經驗分享 edit控制項是乙個很強大的輸入控制項,可以處理很多樣式,通過vs的控制項屬性來設定,有單行,多行,密碼框,滾動條等。其中通知碼可以如下所示 獲得edit控制項輸入的內容可以通過之前討論過的通用函式 參考前面的博文 getwindowtext等。剪下,複製,刪除當前選擇內容...
win32之分組框
createwindowex 0,l button l 分組框 ws visible ws child bs groupbox,30,30,300,400,hwnd,hmenu 1001,hinst,null winbutton.cpp 定義應用程式的入口點。include stdafx.h inc...