![對話框編程上機(jī)實驗_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/16/a58bb520-6d41-4b84-87fb-573358aaa641/a58bb520-6d41-4b84-87fb-573358aaa6411.gif)
![對話框編程上機(jī)實驗_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/16/a58bb520-6d41-4b84-87fb-573358aaa641/a58bb520-6d41-4b84-87fb-573358aaa6412.gif)
![對話框編程上機(jī)實驗_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/16/a58bb520-6d41-4b84-87fb-573358aaa641/a58bb520-6d41-4b84-87fb-573358aaa6413.gif)
![對話框編程上機(jī)實驗_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/16/a58bb520-6d41-4b84-87fb-573358aaa641/a58bb520-6d41-4b84-87fb-573358aaa6414.gif)
![對話框編程上機(jī)實驗_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/16/a58bb520-6d41-4b84-87fb-573358aaa641/a58bb520-6d41-4b84-87fb-573358aaa6415.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Visual C+游戲程序設(shè)計 菜單編程一、上機(jī)目的:(1)掌握7種方法對編輯框進(jìn)行操作。(2)掌握對話框伸縮功能的實現(xiàn)。(3)掌握用MSDN查找相關(guān)API函數(shù)。二、上機(jī)內(nèi)容:以下題目都在VC+6.0環(huán)境下編程完成。1、新建一個MFC的單文檔工程Mybole,并增加一個菜單選項“對話框”。插入一個對話框資源對應(yīng)的對話框名稱是:IDD_DIALOG1。在MFC中,對資源的操作通常都是通過一個與資源相關(guān)的類來完成的。在新建對話框資源上雙擊,彈出對話框,選擇“Create a new class”選項。這時在Mybole程序的Class View選項卡中,可以看到新類,這個CTestDlg新類有兩個
2、成員函數(shù),其中一個就是它的構(gòu)造函數(shù),定義代碼如下:CTestDlg:CTestDlg(CWnd* pParent /*=NULL*/): CDialog(CTestDlg:IDD, pParent)/AFX_DATA_INIT(CTestDlg)/AFX_DATA_INITCTestDlg類的構(gòu)造函數(shù)首先調(diào)用其基類:CDialog的構(gòu)造函數(shù),并傳遞兩個參數(shù):一個是CTestDlg類的IDD成員,一個是父窗口指針,打開CTestDlg類的頭文件,就可以發(fā)現(xiàn)這個IDD就是這個對話框資源的ID,代碼如下:/ Dialog Data/AFX_DATA(CTestDlg)enum IDD = IDD_D
3、IALOG1 ;/AFX_DATACtestDlg類的另一個函數(shù)是:DoDataExchange,主要用來完成對話框數(shù)據(jù)的交換和校驗。了解API函數(shù):我們創(chuàng)建一個模態(tài)對話框:void CMyboleView:OnDialog() / TODO: Add your command handler code here CTestDlg dlg;dlg.DoModal(); /創(chuàng)建模態(tài)對話框我們在IDD_DIALOG1上設(shè)計如下界面:實現(xiàn)加法運(yùn)算,用7種方法實現(xiàn):第一種方法:查找MSDN理解GetWindowText函數(shù)、SetWindowText函數(shù)、itoa函數(shù)和atoi函數(shù)。第二種方法:查找G
4、etDlgItemText函數(shù)和SetDlgItemText函數(shù)。寫出代碼實現(xiàn)之。第三種方法:查找GetDlgItemInt函數(shù)和SetDlgItemInt函數(shù)。寫出代碼實現(xiàn)之。第四種方法:將三個編輯框控件和三個變量相關(guān)聯(lián)。用同樣方法添加m_num1、m_num2和m_num3。這時候我們觀察這個類的頭文件和構(gòu)造函數(shù)。/ Dialog Data/AFX_DATA(CTestDlg)enum IDD = IDD_DIALOG1 ;intm_num1;intm_num2;intm_num3;/AFX_DATACTestDlg:CTestDlg(CWnd* pParent /*=NULL*/): C
5、Dialog(CTestDlg:IDD, pParent)/AFX_DATA_INIT(CTestDlg)m_num1 = 0;m_num2 = 0;m_num3 = 0;/AFX_DATA_INIT這時DoDataExchange函數(shù)變?yōu)椋簐oid CTestDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CTestDlg)DDX_Text(pDX, IDC_EDIT1, m_num1);DDX_Text(pDX, IDC_EDIT2, m_num2);DDX_Text(pDX,
6、IDC_EDIT3, m_num3);/AFX_DATA_MAP我們編寫代碼如下:void CTestDlg:OnBtnAdd() UpdateData(true); m_num3=m_num1+m_num2;UpdateData(false);請回答為什么加上UpdateData(true);和UpdateData(false);兩個語句呢?第五種方法:我們把編輯框控件再與三個變量相關(guān)聯(lián)。/ Dialog Data/AFX_DATA(CTestDlg)enum IDD = IDD_DIALOG1 ;CEditm_edit3;CEditm_edit2;CEditm_edit1;/AFX_DAT
7、A這時在CTestDlg類的DoDataExchange函數(shù)中增加了三個DDX_Control函數(shù),分別將一個對話框控件與一個控件變量相關(guān)聯(lián)。代碼如下:接下來大家自己調(diào)用CEdit類的對象成員函數(shù)GetWindowText函數(shù)和SetWindowText函數(shù)實現(xiàn)加法運(yùn)算。第6種方法我們可以通過發(fā)送消息WM_GETTEXT消息。查找MSDN理解。對應(yīng)的代碼如下:第7種方法:采用編輯框控件消息:EM_SETSEL查找MSDN理解:CWnd:SendDlgItemMessageLRESULT SendDlgItemMessage( int nID, UINT message, WPARAM wPar
8、am = 0, LPARAM lParam = 0 );Return ValueSpecifies the value returned by the controls window procedure, or 0 if the control was not found.ParametersnIDSpecifies the identifier of the dialog control that will receive the message.messageSpecifies the message to be sent.wParamSpecifies additional messag
9、e-dependent information. lParamSpecifies additional message-dependent information.RemarksSends a message to a control. 對應(yīng)實現(xiàn)的代碼如下:void CTestDlg:OnBtnAdd() / TODO: Add your control notification handler code here int num1,num2,num3;char ch110,ch210,ch310;SendDlgItemMessage (IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);SendDlgItemMessage (IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2); num1=atoi(ch1);num2=atoi(ch2);num3=num1+num2; itoa(num3,ch3,10);SendDlgItemM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年代保管檔案協(xié)議(2篇)
- 2025年企業(yè)單位雇傭合同模板(2篇)
- 2025年買賣合作廉潔協(xié)議經(jīng)典版(2篇)
- 2025年交通事故自行協(xié)商協(xié)議(三篇)
- 2025年個人汽車貸款擔(dān)保合同簡單版(2篇)
- 地鐵項目居間合同協(xié)議書
- 八年級大考數(shù)學(xué)試卷
- 幼兒園全包裝修合同條款
- 沙石運(yùn)輸誠信體系建設(shè)合同
- 樂器運(yùn)輸協(xié)調(diào)協(xié)議
- 2024年微生物檢測試劑行業(yè)商業(yè)計劃書
- 河南開封介紹課件
- 通信設(shè)備售后服務(wù)方案
- 高中英語選擇性必修一單詞表
- 初中生物校本課程綱要
- 物業(yè)公司介紹
- 賣花生混聲合唱簡譜
- 數(shù)學(xué)方法在物理中的應(yīng)用
- 【永輝超市公司員工招聘問題及優(yōu)化(12000字論文)】
- 心肺復(fù)蘇指南
- 《智能物聯(lián)網(wǎng)導(dǎo)論》AIoT導(dǎo)論-第2章課件
評論
0/150
提交評論