![VC中Windows常用控件的創(chuàng)建和使用_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/e43d2a29-c7e0-4a44-ae41-311e6e4703dd/e43d2a29-c7e0-4a44-ae41-311e6e4703dd1.gif)
![VC中Windows常用控件的創(chuàng)建和使用_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/e43d2a29-c7e0-4a44-ae41-311e6e4703dd/e43d2a29-c7e0-4a44-ae41-311e6e4703dd2.gif)
![VC中Windows常用控件的創(chuàng)建和使用_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/e43d2a29-c7e0-4a44-ae41-311e6e4703dd/e43d2a29-c7e0-4a44-ae41-311e6e4703dd3.gif)
![VC中Windows常用控件的創(chuàng)建和使用_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/e43d2a29-c7e0-4a44-ae41-311e6e4703dd/e43d2a29-c7e0-4a44-ae41-311e6e4703dd4.gif)
![VC中Windows常用控件的創(chuàng)建和使用_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/3/e43d2a29-c7e0-4a44-ae41-311e6e4703dd/e43d2a29-c7e0-4a44-ae41-311e6e4703dd5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、VC中Windows常用控件的創(chuàng)建和使用2007-08-20 10:23本文將要介紹的Windows控件指的是Windows系統(tǒng)預定義的標準控件,如按鈕控件、編輯控件和列表控件等。這些預定義控件實際是一種特殊的子窗口,主要供用戶同應用程序的交互之用。和普通窗口類一樣,每一個預定義控件也都是由所屬的窗口類規(guī)定了自身的外觀屬性和具有的功能。Windows 系統(tǒng)通過預定義的方式提供了一些標準控件的窗口類名,在程序設(shè)計時只需通過調(diào)用CreateWindow()函數(shù)或CreateWindowEx()函數(shù)并將預定義的窗口類名作為參數(shù)傳入即可創(chuàng)建出相應的控件。當用戶通過屏幕對象同控件進行交互操作時,控件將以
2、通知消息的形式向父窗口發(fā)送WM_COMMAND通知消息,消息的wParam參數(shù)含有控制標識,在lPamam參數(shù)的高位字和低位字中分別含有通知碼和控制句柄,由父窗口完成對消息的響應處理。按鈕類控件按鈕類控件是窗口類名被系統(tǒng)預定義為BUTTON的一類控件,該類控件具有十余種不同的窗口風格,包含了普通的下壓式按鈕、單選按鈕、復選按鈕和分 組框等多種常用的按鈕形式。具體情況列表如下:按鈕風格 說明BS_AUTOCHECKBOX 同復選按鈕類似,點擊一下選中,再次點擊取消。BS_AUTORADIOBUTTON 同單選按鈕類似,點擊后選中標志將從同組的其他單選按鈕處移到當前選項。BS_AUTO3STATE
3、 同三態(tài)復選按鈕類似,只是在用戶點擊后改變狀態(tài)。BS_CHECKBOX 復選按鈕BS_DEFPUSHBUTTON 下壓按鈕,具有較黑的邊框。BS_GROUPBOX 分組框BS_LEFTTEXT 同單選按鈕或復選按鈕配合使用,標題將顯示在左側(cè)。BS_OWNERDRAW 可創(chuàng)建一個擁有者自繪按鈕。BS_PUSHBUTTON 普通下壓按鈕BS_RADIOBUTTON 單選按鈕BS_3STATE 三態(tài)復選按鈕以上按鈕風格通常需要同窗口風格共同使用,由CreateWindow()函數(shù)或MFC的CButton類成員函數(shù)Create()完成對按鈕的創(chuàng)建:/ 按鈕類窗口風格DWORD STYLE9 = BS_
4、AUTOCHECKBOX,BS_AUTORADIOBUTTON,BS_AUTO3STATE,BS_CHECKBOX,BS_DEFPUSHBUTTON,BS_GROUPBOX,BS_PUSHBUTTON,BS_RADIOBUTTON,BS_3STATE;/ 動態(tài)創(chuàng)建按鈕for (int i = 0; i 9; i+)m_ctrButtoni.Create(BUTTON, WS_VISIBLE | WS_CHILD | WS_BORDER | STYLEi, CRect(10 + 110 * i, 10, 100 + 110 * i, 40), this,IDC_BUTTON1 + i);如果需要
5、處理按鈕發(fā)送給其父窗口的消息,可以在進行消息響應的類實現(xiàn)中添加一個如下形式的消息映射入口和相應的消息處理函數(shù):ON_Notification(id, memberFxn )其中,id為發(fā)送通知消息的按鈕ID號,memberFxn為消息處理函數(shù)。如果按鈕是以new操作符的方式在堆(heap)內(nèi)創(chuàng)建一個CButton對象,那么就必須確保在關(guān)閉窗口前能調(diào)用delete銷毀該對象。如果CButton對象是在棧上創(chuàng)建的就不必顯式銷毀對象了,應用程序在退出時會自動予以銷毀。編輯類控件以窗口類名EDIT創(chuàng)建的編輯類控件是一個可以用來接受用戶鍵盤字符輸入的矩形區(qū)域,可以在其內(nèi)進行編輯操作。該控件是程序接受用戶
6、字符輸入的 一種主要手段,輸入的內(nèi)容存放在其父窗口容量有限的(32KB)局部堆中。 MFC的CEdit類提供了有關(guān)編輯類控件的功能函數(shù)。編輯控件既可以在對話框模板上創(chuàng)建也可以通過代碼來直接創(chuàng)建,這兩種方式均要通過CEdit的構(gòu)造函數(shù)來構(gòu)造一個CEdit對象。CEdit類從CWnd繼承了一些重要的函數(shù),比如可以通過使用CWnd類成員函數(shù)SetWindowText()和GetWindowText()來設(shè)定和獲取一個編輯控件中的文本。同按鈕類控件類似,如果要處理由編輯控件發(fā)送給其父窗口的通知消息,需要在父窗口類中為每一個待處理消息增添消息映射入口和消息響應函數(shù)。在調(diào)用Create()函數(shù)創(chuàng)建編輯控件
7、時,Windows系統(tǒng)將發(fā)出WM_NCCREATE、WM_NCCALCSIZE、WM_CREATE和WM_GETMINMAXINFO等消息給編輯控件。這些消息缺省地分別由OnNcCreate()、OnNcCalcSize()、OnCreate()和OnGetMinMaxInfo()等CWnd類成員函數(shù)進行處理,可以根據(jù)實際需要對其進行重載使用。作為一種特殊的窗口,編輯控件除了需要指定普通窗口風格外,還可以通過選用不同的控件風格而獲取相應的功能效果,可選用的編輯風格列表如下:編輯風格 說明ES_AUTOHSCROLL 當在行尾添加一個字符后自動向右滾動10個字符。ES_AUTOVSCROLL 當
8、輸入回車后自動上滾一行。ES_CENTER 字符居中顯示。ES_LEFT 字符左對齊。ES_LOWERCASE 統(tǒng)一轉(zhuǎn)化為小寫字母。ES_MULTILINE 允許多行顯示。ES_NOHIDESEL 當編輯失去焦點時隱藏對字符的選定,重新獲得焦點后以反色顯示選中內(nèi)容。ES_OEMCONVERT 將ANSI字符轉(zhuǎn)化為OEM字符。ES_PASSWORD 以星號顯示字符,多用于回顯密碼。ES_RIGHT 字符右對齊ES_UPPERCASE 統(tǒng)一轉(zhuǎn)化為大寫字母。ES_READONLY 設(shè)置字符為只讀。ES_WANTRETURN 接受回車鍵輸入。下面給出創(chuàng)建、用編輯控件的示例代碼,該示例首先通過Creat
9、e()函數(shù)創(chuàng)建一個控件對象,并通過SetWindowText()函數(shù)為其設(shè)置字符。通過添加對控件通知消息的響應代碼可以檢測文本是否發(fā)生了改變。程序主要實現(xiàn)清單如下:/ 控件的創(chuàng)建部分:/ 創(chuàng)建編輯控件m_ctrEdit.Create(WS_VISIBLE | WS_CHILD | WS_BORDER | ES_WANTRETURN | ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL, CRect(10, 50, 250, 150), this, ID_EDIT1);/ 為控件設(shè)置字符m_ctrEdit.SetWindowText(Hello Wor
10、ld!);./ 添件對控件通知消息的響應/AFX_MSG(CSample02View)afx_msg void OnEnChange();/AFX_MSGDECLARE_MESSAGE_MAP().BEGIN_MESSAGE_MAP(CSample02View, CView)/AFX_MSG_MAP(CSample02View)ON_EN_CHANGE(ID_EDIT1, OnEnChange)/AFX_MSG_MAPEND_MESSAGE_MAP().void CSample02View:OnEnChange()/ 通知消息響應代碼AfxMessageBox(內(nèi)容已改變!);列表框與組合框列
11、表框是窗口類名為ListBox的預定義子窗口,在窗口矩形內(nèi)包含有一些可以滾動顯示的欄狀字符串列表。標準的列表框只能允許選中一個條目,選中的條目將以系統(tǒng)顏色COLOR_HIGHLIGHT高亮顯示。Windows還提供了多種不同風格的標準列表框,其中包括多選列表框、多列顯示的列表框和可以顯示圖象的擁有者畫(Owner-draw)列表框等。另一種與列表框相關(guān)的控件是組合框,該控件預定義類名為COMBOBOX,實際是一個編輯控件同一個彼此相關(guān)的列表框控件的組合。用戶既可以在組合框的編輯欄上直接輸入、編輯文字也可以從下拉列表中顯示的可能選擇中進行選取。 MFC的CListBox 類封裝了列表框控件,由成
12、員函數(shù)Create()完成對列表框的創(chuàng)建,在創(chuàng)建的同時指定了控件的窗口風格。當列表框中的條目被選中或被鼠標雙擊后將向父窗口發(fā)送WM_COMMAND消息。如果列表框采用了LBS_NOTIFY風格,父窗口就可以通過ON_LBN消息映射宏直接將通知消息同消息處理函數(shù)建立起映射關(guān)系。列表框提供了十余種窗口風格,現(xiàn)將列表框風格及說明列表如下:列表框風格 說明LBS_STANDARD 創(chuàng)建一個具有邊界和垂直滾動條、當選擇發(fā)生變化或條目被雙擊時能夠通知父窗口的標準列表框。所有條目按字母排序。LBS_SORT 按字母排序。LBS_NOSEL 條目可視但不可選。LBS_NOTIFY 當用戶選擇或雙擊一個串時,發(fā)
13、出消息通知父窗口。LBS_DISABLENOSCROLL 在條目不多時依然顯示并不起作用的滾動條。 LBS_MULTIPLESEL 允許條目多選。LBS_EXTENDEDSEL 可用SHIFT和鼠標或指定鍵組合來選擇多個條目。 LBS_MULTICOLUMN 允許多列顯示。LBS_OWNERDRAWVARIABLE 創(chuàng)建一個擁有者畫列表框,條目高度可以不同。 LBS_OWNERDRAWFIXED 創(chuàng)建一個具有相同條目高度的擁有者畫列表框。 LBS_USETABSTOPS 允許使用TAB制表符。LBS_NOREDRAW 當條目被增刪后不自動更新列表顯示。LBS_HASSTRINGS 記憶了添加到
14、列表中的字串。LBS_WANTKEYBOARDINPUT 當有鍵按下時向父窗口發(fā)送WM_VKEYTOITEM或WM_CHARTOITEM消息。LBS_NOINTEGRALHEIGHT 按程序設(shè)定尺寸創(chuàng)建列表框。缺省的,列表框在每添加或刪除一個條目后都會自動重繪,如果在列表框中已經(jīng)有了幾百條甚至上千條條目,將會因為重繪而引起比較嚴重的閃爍。可以通過使用LBS_NOREDRAW風格來禁止列表框的自動重繪。在需要更新顯示時強制重繪列表框窗口即可。如果在創(chuàng)建時未使用LBS_NOREDRAW風格,可以在增刪條目前向列表框發(fā)送WM_SETREDRAW消息,指定其不重繪,增添完畢后再次發(fā)送WM_SETRED
15、RAW消息重新啟用自動重繪風格。示例過程如下:CListBox m_ctrListBox;/ 禁止自動重繪m_ctrListBox.SendMessage(WM_SETREDRAW, FALSE, 0);/ 進行條目增刪操作./ 允許自動重繪m_ctrListBox.SendMessage(WM_SETREDRAW, TRUE, 0);列表框創(chuàng)建之初是不含任何條目的,通過CListBox成員函數(shù)AddString()和InsertString()向列表框增添或插入條目。如果列表框具有LBS_SORT風格,那么新添加字串的位置是不固定的,要根據(jù)字串的字母進行排序;如果不具有該風格,新字串將添加到
16、列表框的末尾。如果有必要,可以使用SetItemDataPtr()或SetItemData()將一個32位的指針(或一個DWORD的值)同列表框中的一個條目聯(lián)系起來,并且在設(shè)置后可以通過調(diào)用GetItemDataPtr()或GetItemData()而獲取。這樣做的目的是可以將列表框中的條目同外部數(shù)據(jù)建立聯(lián)系。例如:可以用這種方式非常方便地將一個包含有地址、電話號碼和E-mail地址等信息的數(shù)據(jù)結(jié)構(gòu)同列舉在列表框中的持有人建立起關(guān) 聯(lián)。當從列表框中選中某個人時,可以同時得到有關(guān)該人的通訊信息。當操作列表框時,將會通過WM_COMMAND消息發(fā)送通知給父窗口,消息參數(shù)lParam的高字節(jié)包含了通
17、知碼標識符。在MFC應用程序中,列表框的通知消息通過ON_LBN消息映射宏而映射到類成員函數(shù)。下表給出了列表框的幾個通知消息以及相應的ON_LBN宏。其中,LBN_DBLCLK,LBN_SELCHANGE和LBN_SELCANCEL通知消息只有在列表框使用了LBS_NOTIFY或LBS_STANDARD風格時才會被發(fā)出,其他通知消息則無此限制。通知碼標識符 ON_LBN宏 值 含義LBN_SETFOCUS ON_LBN_SETFOCUS 4 列表框接收到輸入焦點LBN_KILLFOCUS ON_LBN_KILLFOCUS 5 列表框接失去輸入焦點LBN_ERRSPACE ON_LBN_ERRS
18、PACE -2 列表框存儲溢出LBN_DBLCLK ON_LBN_DBLCLK 2 雙擊條目LBN_SELCHANGE ON_LBN_SELCHANGE 1 改變選擇LBN_SELCANCEL ON_LBN_SELCANCEL 3 取消選擇其中,最經(jīng)常使用的兩個通知消息是LBN_DBLCLK和LBN_SELCHANGE。對于不可復選的列表框可以通過GetCurSel()來獲取當前雙擊的是列表框條目的索引值;對于允許多選的列表框則需要用GetCaretIndex()來代替GetCurSel()。下面通過一段示例代碼對 列表控件的使用做一個直觀的演示:/ 創(chuàng)建并初始化列表框/ 創(chuàng)建列表框m_ctr
19、ListBox.Create(WS_VISIBLE | WS_CHILD | WS_BORDER |LBS_STANDARD,CRect(270, 50, 370, 150), this, IDC_LIST1);/ 添加條目CString Item9 = Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9;for (int i = 0; i 9; i+)m_ctrListBox.AddString(Itemi);/ 選中第4個條目m_ctrListBox.SetCurSel(3);./ 父窗口對通知消息的處理函數(shù)的聲明(在
20、頭文件中)/AFX_MSG(CSample02View)afx_msg void OnLbnDblClk();/AFX_MSGDECLARE_MESSAGE_MAP()./ 父窗口對通知消息的映射入口 (在實現(xiàn)文件中)BEGIN_MESSAGE_MAP(CSample02View, CView)/AFX_MSG_MAP(CSample02View)ON_LBN_DBLCLK(IDC_LIST1, OnLbnDblClk)/AFX_MSG_MAP/ Standard printing commandsEND_MESSAGE_MAP()./ 父窗口對LBN_DBLCLK通知消息的處理void CS
21、ample02View:OnLbnDblClk()/ 得到當前選中條目的索引int Index = m_ctrListBox.GetCurSel();/ 得到此條目的內(nèi)容char Text20;m_ctrListBox.GetText(Index, Text);/ 以信息框報告得到的內(nèi)容AfxMessageBox(CString(Text);雖然組合框?qū)嶋H是列表框和編輯框的組合,但在使用中的表現(xiàn)使得組合框同其他控件一樣當作一個獨立的控件去使用。MFC的CComboBox類提供了對組合框的功能支持。在使用Create()函數(shù)創(chuàng)建組合框時可以同時指定組合框的風格(參見下表)。窗口風格 說明CBS_
22、AUTOHSCROLL 當在行尾輸入字符時自動將編輯框中的文字向右滾動。CBS_DROPDOWN 同CBS_SIMPLE風格類似,只是只有在用戶點擊下拉圖標時才會顯示出下拉列表。CBS_DROPDOWNLIST 同CBS_DROPDOWN類似,只是顯示當前選項的編輯框為一靜態(tài)框所代替。CBS_HASSTRINGS 創(chuàng)建一個包含了由字串組成的項目的擁有者畫組合框。 CBS_OEMCONVERT 將組合框中的ANSI字串轉(zhuǎn)化為OEM字符。CBS_OWNERDRAWFIXED 由下拉列表框的擁有者負責對內(nèi)容的繪制;列表框中各項目高度相同。CBS_OWNERDRAWVARIABLE 由下拉列表框的擁有
23、者負責對內(nèi)容的繪制;列表框中各項目高度可以不同。CBS_SIMPLE 下拉列表始終顯示。CBS_SORT 自動對下拉列表中的項目進行排序。CBS_DISABLENOSCROLL 當下拉列表顯示內(nèi)容過少時顯示垂直滾動條。CBS_NOINTEGRALHEIGHT 在創(chuàng)建控件時以指定的大小來精確設(shè)定組合框尺寸。 對組合框進行操作也會向父窗口發(fā)送通知消息,處理過程同前面幾種控件大同小異,是通過ON_CBN消息映射宏完成對通知消息的映射的。下面就給出這 些ON_CBN宏的詳細說明:ON_CBN宏 對應事件ON_CBN_CLOSEUP 關(guān)閉下拉列表。ON_CBN_DBLCLK 雙擊下拉列表中的項目。ON_
24、CBN_DROPDOWN 下拉顯示列表框。ON_CBN_EDITCHANGE 編輯框中文本內(nèi)容被改動。ON_CBN_EDITUPDATE 編輯框內(nèi)容更新顯示。ON_CBN_ERRSPACE 組合框不能為某個特殊請求分配足夠的內(nèi)存。ON_CBN_SELENDCANCEL 用戶的選擇被取消。ON_CBN_SELENDOK 用戶選擇了一個項目并且通過回車鍵或按下鼠標而隱藏組合框的下拉列表。ON_CBN_KILLFOCUS 組合框失去焦點。ON_CBN_SELCHANGE 選擇發(fā)生變化。ON_CBN_SETFOCUS 組合框獲得輸入焦點。最后給出一段有關(guān)組合框的示例代碼,從代碼實現(xiàn)不難看出組合框控件同
25、前面給出的列表控件在編程實現(xiàn)上的相似性。/ 組合框的創(chuàng)建/ 創(chuàng)建列表控件m_ctrComboBox.Create(WS_VISIBLE | WS_CHILD | WS_BORDER | CBS_DROPDOWN, CRect(400, 50, 470, 150), this, IDC_COMBOX1);/ 添加條目CString Item9 = Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9;for (int i = 0; i ResetContent();/消除現(xiàn)有所有內(nèi)容 for(int i=1;iAddStrin
26、g(strTemp);3,下拉的時候添加如: CString strTemp;int iCount=(CComboBox*)GetDlgItem(IDC_COMBO_CF)-GetCount();/取得目前已經(jīng)有的行數(shù)if(iCountResetContent();for(int i=1;iAddString(strTemp);4,刪除DeleteString( UINT nIndex )/刪除指定行,5,插入InsertString( int nIndex, LPCTSTR lpszItem )/將行插入到指定位置6,查找FindString( int nStartAfter, LPCTST
27、R lpszItem )/可以在當前所有行中查找指定的字符傳的位置,nStartAfter指明從那一行開始進行查找。int SelectString( int nStartAfter, LPCTSTR lpszItem )/可以選中包含指定字符串的行二、如何控制Combo Box的下拉長度1,首先要知道兩點:一、那就是在設(shè)計界面里,點擊一下Combo Box的下拉箭頭,此時出現(xiàn)的調(diào)整框就是Combo Box的下拉調(diào)整框。2,二、屬性里有個 No integral height 鉤選項,表示最大長度為設(shè)計長度,如果實際內(nèi)容比設(shè)計長度多,就出現(xiàn)滾動條,少就以實際長度顯示。三、選擇其中的某行1,選中
28、:int iPos=(CComboBox*)GetDlgItem(IDC_COMBO_CF)-GetCurSel();/當前選中的行。 2,設(shè)置(CComboBox*)GetDlgItem(IDC_COMBO_CF)-SetCurSel(n)/設(shè)置第n行內(nèi)容為顯示的內(nèi)容。四、取得Combo Box框內(nèi)容1取當前內(nèi)容(CComboBox*)GetDlgItem(IDC_COMBO_CF)-GetWindowText(strTemp);2取其他行內(nèi)容(CComboBox*)GetDlgItem(IDC_COMBO_CF)-GetLBText(n,strTemp);四、獲得焦點通常要判斷控件是否獲得
29、了焦點,可以用GetFocus()函數(shù)例如:if(GetFocus()=GetDlgItem(IDC_EDIT_VALUE2)/判斷焦點是否在編輯框IDC_EDIT_VALUE2內(nèi)。但是combobox 的焦點不同,因為它是由edit和listbox兩部分組成的所以獲得焦點要用GetParent():if (GetFocus()-GetParent()=GetDlgItem(IDC_COMBO_CF) 組合窗口是由一個輸入框和一個列表框組成。創(chuàng)建一個組合窗口可以使用成員函數(shù):BOOL CListBox:Create( LPCTSTR lpszText, DWORD dwStyle, const
30、 RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );其中dwStyle將指明該窗口的風格,除了子窗口常用的風格WS_CHILD,WS_VISIBLE外,你可以針對列表控件指明專門的風格。CBS_DROPDOWN 下拉式組合框CBS_DROPDOWNLIST 下拉式組合框,但是輸入框內(nèi)不能進行輸入CBS_SIMPLE 輸入框和列表框同時被顯示LBS_SORT 所有的行按照字母順序進行排序由于組合框內(nèi)包含了列表框,所以列表框的功能都能夠使用,如可以利用:int AddString( LPCTSTR lpszItem )添加行,int DeleteS
31、tring( UINT nIndex )刪除指定行,int InsertString( int nIndex, LPCTSTR lpszItem )將行插入到指定位置。void ResetContent( )可以刪除列表框中所有行。通過調(diào)用int GetCount( )得到當前列表框中行的數(shù)量。如果需要得到/設(shè)置當前被選中的行的位置,可以調(diào)用int GetCurSel( )/int SetCurSel(int iIndex)。通過調(diào)用int GetLBText( int nIndex, LPTSTR lpszText )得到列表框內(nèi)指定行的字符串。此外通過調(diào)用int FindString( i
32、nt nStartAfter, LPCTSTR lpszItem )可以在當前所有行中查找指定的字符傳的位置,nStartAfter指明從那一行開始進行查找。int SelectString( int nStartAfter, LPCTSTR lpszItem )可以選中包含指定字符串的行。此外輸入框的功能都能夠使用,如可以利用:DWORD GetEditSel( ) /BOOL SetEditSel( int nStartChar, int nEndChar )得到或設(shè)置輸入框中被選中的字符位置。BOOL LimitText( int nMaxChars )設(shè)置輸入框中可輸入的最大字符數(shù)。輸
33、入框的剪貼板功能Copy,Clear,Cut,Paste動可以使用。最后介紹一下列表框幾種常用的消息映射宏:ON_CBN_DBLCLK 鼠標雙擊ON_CBN_DROPDOWN 列表框被彈出ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在輸入框失去/得到輸入焦點時產(chǎn)生ON_CBN_SELCHANGE 列表框中選擇的行發(fā)生改變ON_CBN_EDITUPDATE 輸入框中內(nèi)容被更新使用以上幾種消息映射的方法為定義原型如:afx_msg void memberFxn( );的函數(shù),并且定義形式如ON_Notification( id, memberFxn )的消息映射。如果在對
34、話框中使用組合框,Class Wizard會自動列出相關(guān)的消息,并能自動產(chǎn)生消息映射代碼。在MFC 4.2中對組合框進行了增強,你可以在組合框中使用ImageList,有一個新的類CComboBoxEx(由CComboBox派生)來實現(xiàn)這一功能。在CComboBoxEx類中添加了一些新的成員函數(shù)來實現(xiàn)新的功能:首先你需要調(diào)用CImageList* SetImageList( CImageList* pImageList );來設(shè)置ImageList,然后調(diào)用int InsertItem( const COMBOBOXEXITEM* pCBItem );來添加行,其中COMBOBOXEXITEM定義如下:typedef struct UINT mask;int iItem;LPTSTR pszText;int cchTextMax;int iImage;int iSe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學二年級數(shù)學口算題上冊
- 2022年新課標八年級上冊道德與法治《第九課 樹立總體國家安全觀 》聽課評課記錄(2課時)
- 9-1生活需要法律 2法律保障生活 聽課評課記錄 新部編人教版七年級下冊道德與法治
- 人教版地理七年級上冊第四節(jié)《世界的氣候》聽課評課記錄5
- 華師大版歷史九年級上冊第16課《啟蒙運動》聽課評課記錄
- 戶外廣告制作合同范本
- 三方委托出口合同范本
- 二零二五年度知乎共享空間租賃合作協(xié)議
- SBS防水卷材購貨合同范本
- 公司租賃合同范本
- 2024新滬教版英語(五四學制)七年級上單詞默寫單
- 電力兩票培訓
- TCCEAS001-2022建設(shè)項目工程總承包計價規(guī)范
- 2024.8.1十七個崗位安全操作規(guī)程手冊(值得借鑒)
- 二次供水衛(wèi)生管理制度及辦法(4篇)
- 中學生手機使用管理協(xié)議書
- 給排水科學與工程基礎(chǔ)知識單選題100道及答案解析
- 2024年土地變更調(diào)查培訓
- 2024年全國外貿(mào)單證員鑒定理論試題庫(含答案)
- 新版中國食物成分表
- DB11∕T 446-2015 建筑施工測量技術(shù)規(guī)程
評論
0/150
提交評論