對話框和控件編程

對話框和控件編程

ID:41033430

大?。?.04 MB

頁數(shù):5頁

時間:2019-08-14

對話框和控件編程_第1頁
對話框和控件編程_第2頁
對話框和控件編程_第3頁
對話框和控件編程_第4頁
對話框和控件編程_第5頁
資源描述:

《對話框和控件編程》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、對話框與控件編程一、對話框編程l創(chuàng)建一個基于單文檔視圖框架的應(yīng)用程序。l執(zhí)行菜單命令:視圖/資源視圖,進(jìn)入資源視圖窗口,點(diǎn)擊Dialog資源項,右鍵添加一個對話框資源。l在對話框資源窗口上右鍵,添加對話框類。l在主菜單資源的視圖菜單中添加新菜單項,用于顯示對話框。將新添加的菜單項的消息處理函數(shù)映射到View類中。一、添加對話框類l在新加的菜單消息處理函數(shù)中添加代碼lCDlgExam1dlg;dlg.DoModal();通過調(diào)用Cdialog類的DoModal()函數(shù)顯示的對話框都是模態(tài)對話框?!澳B(tài)對話框”指對話框被彈出后,用

2、戶必須在對話框中作出相應(yīng)的操作,在退出對話框之前,對話框所在應(yīng)用程序的其他操作不能繼續(xù)執(zhí)行?!胺悄B(tài)對話框”指對話框被彈出后,一直保留在屏幕上,用戶可繼續(xù)在對話框所在應(yīng)用程序中執(zhí)行其他操作。當(dāng)需要使用對話框時,只需像激活窗口一樣單擊對話框所在區(qū)域即可。非模態(tài)對話框的編寫和使用1.添加一個新的對話框資源2.添加一個新的對話框類CDlgNonModal3.為對話框添加一個靜態(tài)整型變量NumOfInstance,初始化為0;3.重載對話框類的OnCancel和PostNcDestroy函數(shù)voidCDlgNonModal::OnCa

3、ncel(){DestroyWindow();CDlgNonModal::NumOfInstance=0;}voidCDlgNonModal::PostNcDestroy(){CDialog::PostNcDestroy();deletethis;}intCDlgNonModal::NumOfInstance=0;CDlgNonModal::CDlgNonModal(CWnd*pParent/*=NULL*/):CDialog(CDlgNonModal::IDD,pParent){CDlgNonModal::NumOfInst

4、ance++;}4.在View類中添加菜單命令處理函數(shù)if(CDlgNonModal::NumOfInstance==0){CDlgNonModal*pDlg=newCDlgNonModal(0);pDlg->Create(IDD_DIALOG1);pDlg->ShowWindow(SW_SHOW);}思考:如果需要在對話框類的成員函數(shù)中調(diào)用View類的成員函數(shù)?應(yīng)該如何設(shè)計對話框類?在對話框類的成員函數(shù)中如何獲取應(yīng)用程序的View類實(shí)例的指針?只要為新創(chuàng)建的對話框類的構(gòu)造函數(shù)添加一個View類的指針,在創(chuàng)建對話框類時,傳入V

5、iew的指針即可。二、按鈕控件l1、單選按鈕l添加groupbox控件l將單選按鈕控件放在groupbox控件中l(wèi)將每個groupbox控件中的第一個單選按鈕的Group屬性值設(shè)為true,保證不同groupbox控件中的單選按鈕互不影響初始化單選按鈕的選擇狀態(tài)重載對話框的OnInitDialog()函數(shù),使用對話框成員函數(shù)CheckRadioButton(…)初始化一個groupbox中的單選按鈕選擇狀態(tài)。voidCheckRadioButton(intnIDFirstButton,intnIDLastButton,intn

6、IDCheckButton)獲取一個groupbox中的單選按鈕選擇值:使用對話框的GetCheckedRadioButton(…)成員函數(shù)獲取選中的單選按鈕的ID號,使用對話框的GetDlgItemTextW(…)獲取單選按鈕的文本。intGetCheckedRadioButton(intnIDFirstButton,intnIDLastButton);長春理工大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院陳純毅CheckRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMALE,IDC_RADIO_MALE);void

7、CDlgExam1::OnBnClickedButOk(){intnID=GetCheckedRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMALE);CStringstrAge,strSex;GetDlgItemTextW(nID,strSex);CDialog::OnOK();MessageBox(CString(L"你的選擇是:")+strSex);}2、復(fù)選框按鈕一個groupbox中的復(fù)選框按鈕的初始化使用對話框類的GetDlgItem(…)獲得復(fù)選框按鈕對象的指針,將該指針轉(zhuǎn)換成Cb

8、utton類型指針,使用Cbutton的SetCheck成員函數(shù)設(shè)置復(fù)選框按鈕。獲取一個groupbox中被勾選的復(fù)選框按鈕的文本將所有復(fù)選框按鈕的ID號存在一個數(shù)組中。通過循環(huán),使用GetDlgItem(…)獲得每個復(fù)選框按鈕對象的指針,并轉(zhuǎn)換成Cbutton指針,通過CB

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。