需求:實現張3、李4、王五 3 人的課程選擇,並將選課結果提交到列表框中顯示。函數
實現過程:orm
一、創建對話框mfc工程。對象
二、添加控件blog
tab 順序 控 件 類 型 控件 ID
1 Button IDC_ADD
2 Button IDCANCEL
3 Group Box IDC_STATIC
4 Radio Button IDC_RADIO1
5 Radio Button IDC_RADIO2
6 Radio Button IDC_RADIO3
7 Group Box IDC_STATIC
8 Check Box IDC_CHECK1
9 Check Box IDC_CHECK2
10 Check Box IDC_CHECK3
11 Static Text IDC_STATIC
12 List Box IDC_LIST1
圖片
(1)按鈕 1 採用前面介紹過的位圖按鈕類 CButtonBitmap,這就須要載入位圖資源。在資源
資源視圖窗口裏添加「Bitmap」資源,而後再載入兩幅 Bmp 圖片,這兩幅圖片分別顯示按鈕
位圖和按鈕按下時的位圖,其 ID 分別爲「IDB_ADD1」和「IDB_ADD2」。it
按鈕1屬性設置「owner draw」爲「true」。io
其餘:變量
MFC中control變量與value變量的區別date
control型變量是這個控件所屬類的一個實例(對象)能夠經過這個變量來對該控件進行一些設置。control型變量能夠得到控件的實例,經過這個變量,你能夠操縱控件。而value只是用來傳遞數據,不能對控件進行其它的操做。value型變量僅僅能夠得到該控件的public型變量。 若是你添加了一個m_CtrlEdit的control型變量你能夠調用控件支持的全部函數,如:m_CtrlEdit.GetStyle(...) 得到控件的輸入內容或者說文本內容:CString str_name;m_CtrlEdit.GetWindowText(str_name);MessageBox(str_name,"提示",0); 而value型變量通常用於向控件傳遞數據,如:變量爲CString 類型的 m_Str m_Str="hustwjz"; UpdateData(FALSE); //能夠向控件傳遞數據 UpdateData(TRUE); //能夠從控件得到數據 得到輸入數據後能夠進行相應操做.如下是寫文件用到的,把輸入的內容寫入文件 UpdateData(TRUE); student.age=m_age; strcpy(student.name,m_char); CString fPath; fPath=GetAppPath(); IniFileHandle->m_FileName.Format(_T("%s"),fPath+_T("student")); IniFileHandle->OpenFile(1); IniFileHandle->Serialize(student); IniFileHandle->CloseFile(); 可使用成員變量來代替某個控件,當控件發生變化時,該成員變量的值也發生變化;ClassWizard增長成員變量的時候,選擇value類型能夠建立一個包含由用戶來輸入控件文本和控件狀態的成員變量;選擇Control類型,咱們能夠對這個控件直接進行訪問; Value 就是一個變量,control 就是一個控件。主要的區別也就是變量和控件之間的區別,雖然他們實質上都是同樣的。 但是選擇 Value ,MFC 會把控件的內容對應到一個變量上。除非你用其餘API取得這個 控件進行操做,不然,就是一個變量而已。主要的用途是 UpdateData,進行數據讀寫。而做爲控件,就是把這個東西直接對應到了一個控件對象上去,好比 CEdit 對象。你能夠直接用這個對象來進行操做。