對(duì)話框程序界面設(shè)計(jì)-計(jì)算器.ppt_第1頁(yè)
對(duì)話框程序界面設(shè)計(jì)-計(jì)算器.ppt_第2頁(yè)
對(duì)話框程序界面設(shè)計(jì)-計(jì)算器.ppt_第3頁(yè)
對(duì)話框程序界面設(shè)計(jì)-計(jì)算器.ppt_第4頁(yè)
對(duì)話框程序界面設(shè)計(jì)-計(jì)算器.ppt_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第十一章對(duì)話框程序設(shè)計(jì)及應(yīng)用,編VisualC+程序首先要?jiǎng)?chuàng)建一個(gè)良好的可視化界面,而每個(gè)程序界面是由對(duì)話框(Dialog)和一些必要的控件(Control)構(gòu)成的。界面設(shè)計(jì)的一般步驟為:1)在對(duì)話框上布置控件。2)設(shè)置各控件屬性。3)設(shè)置對(duì)話框?qū)傩浴?創(chuàng)建一個(gè)對(duì)話框應(yīng)用程序的步驟如下:1、在VC+集成環(huán)境中,選擇文件File-新建New菜單項(xiàng)-工程Project-MFCAppWizard(exe)。2、ProjiectName文本框中輸入項(xiàng)目名稱和存儲(chǔ)位置。3、在MFCAppWizard-Step1對(duì)話框中選擇基于對(duì)話框的應(yīng)用程序(Dialogbased),語(yǔ)言支持選擇簡(jiǎn)體中文。4、在AppWizard彈出的MFCAppWizardStep2對(duì)話框中,取消對(duì)AboutBox的選擇,單擊“Finish”按鈕完成項(xiàng)目的設(shè)定工作。,11.1與對(duì)話框界面設(shè)計(jì)相關(guān)的窗口,對(duì)話框編輯窗口:設(shè)計(jì)對(duì)話框的場(chǎng)所。工具箱窗口:提供給對(duì)話框設(shè)計(jì)必要的控件。屬性窗口:瀏覽并設(shè)定對(duì)話框、控件的屬性。11.1.1資源管理器在資源管理器中可以編輯對(duì)話框。如果對(duì)話框沒(méi)有顯示,可以按以下步驟打開(kāi)對(duì)話框:?jiǎn)螕艄ぷ骺臻g的“ResourceView”選項(xiàng)卡-打開(kāi)資源管理器-展開(kāi)Dialog節(jié)點(diǎn)-雙擊DIALOG項(xiàng)目打開(kāi)對(duì)話框編輯窗口。,11.1.2工具箱窗口在工具欄上右擊-選擇Controls工具箱,打開(kāi)工具箱。工具箱窗口每一個(gè)圖形按鈕各代表一種控件當(dāng)把鼠標(biāo)移到某個(gè)圖形按鈕上時(shí)會(huì)出現(xiàn)文字提示控件的類型提示。11.1.2屬性窗口VisualC+的每個(gè)控件的屬性都不盡相同,每個(gè)控件的屬性窗口不一樣,但是顯示屬性窗口的方法是一樣的。步驟:選擇對(duì)話框或者控件-右單擊鼠標(biāo)鍵-選擇Properties,在屬性窗口中可以設(shè)置對(duì)話框和控件的屬性。,11.2在對(duì)話框上設(shè)置控件,設(shè)置步驟:1、選取控件:在工具箱中雙擊該控件將其添加對(duì)話框中。2、改變控件的位置:在對(duì)話框中用鼠標(biāo)拖動(dòng)的方法將控件移到適當(dāng)?shù)奈恢谩?、調(diào)整控件大小:?jiǎn)螕粼摽丶赃x取控件,控件周圍出現(xiàn)8個(gè)小藍(lán)點(diǎn),把鼠標(biāo)移動(dòng)到任何一個(gè)小藍(lán)點(diǎn)上,鼠標(biāo)指針的形狀變成雙箭頭,按下鼠標(biāo)左鍵、拖動(dòng)、再釋放鼠標(biāo)左鍵即叫調(diào)整控件的大小。4、設(shè)置對(duì)象屬性:選擇對(duì)象(對(duì)話框或者控件)-單擊鼠標(biāo)右鍵-選擇Properties-打開(kāi)相應(yīng)對(duì)象的屬性窗口,在屬性窗口中可以設(shè)置對(duì)話框和控件的屬性。,第一步:選擇文件File-新建New菜單項(xiàng)-工程Project-MFCAppWizard(exe)-在Step1中選擇基于對(duì)話框的應(yīng)用程序-Step2中-取消對(duì)AboutBox的選擇,單擊“Finish”按鈕完成項(xiàng)日的設(shè)定工作。建立一個(gè)對(duì)話框應(yīng)用程序:第二步:在對(duì)話框上設(shè)置控件及其屬性:(可以省略)第三步:設(shè)置函數(shù)選擇“確定”按鈕-右擊-選擇“建立類向?qū)А?在MFCAppWizard選項(xiàng)卡中:Project:本項(xiàng)目名Classname:C本項(xiàng)目名ViewObjectIDs:IDOKMessages:BN_CLICKED選擇“AddFunction”-“EditCode”,11.3對(duì)話框設(shè)計(jì)舉例1-簡(jiǎn)單應(yīng)用,3、寫(xiě)入下例紅色代碼:voidCAbcDlg:OnOK()/TODO:AddextravalidationhereCClientDCdc(this);/this一般指向本窗口或當(dāng)前活動(dòng)視圖dc.Rectangle(10,10,110,110);/畫(huà)矩形dc.MoveTo(80,100);/確定起始點(diǎn)dc.LineTo(200,200);/畫(huà)線的終點(diǎn)坐標(biāo)/CDialog:OnOK();4、保存并運(yùn)行程序:運(yùn)行程序單擊“確定”,客戶區(qū)顯示信息。,11.4對(duì)話框設(shè)計(jì)舉例2-設(shè)計(jì)一個(gè)計(jì)算器程序,實(shí)現(xiàn)加、減、乘、除四則運(yùn)算。,11.4對(duì)話框設(shè)計(jì)舉例2設(shè)計(jì)一個(gè)計(jì)算器程序,實(shí)現(xiàn)加、減、乘、除四則運(yùn)算。步驟一、創(chuàng)建一個(gè)對(duì)話框應(yīng)用程序:1、在VC+集成環(huán)境中,選擇文件File-新建New菜單項(xiàng)-工程Project-MFCAppWizard(exe)。2、ProjiectName文本框中輸入項(xiàng)目名稱和存儲(chǔ)位置。3、在MFCAppWizard-Step1對(duì)話框中選擇基于對(duì)話框的應(yīng)用程序(Dialogbased),語(yǔ)言支持選擇簡(jiǎn)體中文。4、在AppWizard彈出的MFCAppWizardStep2對(duì)話框中,取消對(duì)Aboutbox的選擇,單擊“Finish”按鈕完成項(xiàng)目的設(shè)定工作。,步驟二、設(shè)置控件及其屬性Button1控件:ID屬性-IDOK;Caption屬性-退出。Button2控件:ID屬性-ID_BUTTON2;Caption屬性-計(jì)算。GroupBox控件(框架):ID屬性-IDCSTATIC;Caption-選擇運(yùn)算符。Radio1(單選框):ID屬性-ID_RADIO1;Caption-+;選擇Group復(fù)選框。Radio2:ID屬性-ID_RADIO2;Caption-。Radio3:ID屬性-ID_RADIO3;Caption-*。Radio4:ID屬性-ID_RADIO4;Caption-/。Edit1(編輯框):ID屬性-IDEDIT1。Edit2:ID屬性-ID_EDIT2。Edit3:ID屬性-ID_EDIT3。Static1(靜態(tài)文本框):ID屬性ID_STATIC1;CaptiOn-+。Static2:ID屬性-ID_STATlC2;CaptiOn-=。Check1:ID屬性-ID_CHECK1;Caption-立即計(jì)算注意:若4個(gè)單選框是一組,只能一個(gè)選Group復(fù)選框,否則各自獨(dú)立。,步驟三、定義成員變量如何在程序中協(xié)調(diào)和控制控件?如何建立控件之間的聯(lián)系?程序如何得知用戶對(duì)控件的操作并做出響應(yīng)呢?解決方法:1、定義與控件相聯(lián)系的變量,在程序中通過(guò)關(guān)聯(lián)變量來(lái)完成對(duì)控件的控制。為控件定義變量的方法如下:“查看”-“建立類向?qū)А?選擇MemberVariables選項(xiàng)卡-選擇ControlsIDS中控件ID-單擊“AddVariable”按鈕-利用對(duì)話框?yàn)榭丶⑾嗦?lián)系的成員變量。注意:選擇變量的類型。2、為控件添加事件處理函數(shù),將用戶對(duì)控件的操作(如單擊按鈕、改變單選按鈕的選擇等)作為一個(gè)事件通知給程序,由程序的事件處理函數(shù)完成對(duì)用戶操作的處理。,所增加的所有變量如下:IDC_EDIT1:double-m_m1。/編輯框1IDC_EDIT2:double-m_m2。/編輯框2IDC_EDIT3:double-m_m3。/編輯框3IDC_RADIO1:int-m_dop。/單選框1IDC_STATIC1:CString-m_str。/靜態(tài)文本框1IDC_CHECK1:BOOL-m_ft。/復(fù)選框,步驟四、增加事件處理函數(shù)查看建立類向?qū)?在MessageMaps卡中選擇:Project:本項(xiàng)目名Classname:C本項(xiàng)目名DlgObjectIDs:選擇各控件的IDS選擇相應(yīng)的Messages事件-選擇AddFunctionEditCode事件處理函數(shù)如下:IDC_EDIT1:EN_CHANGE。IDC_EDIT2:EN_CHANGE。IDCRADlO1:BN_CLICKEDIDCRADlO2:BN_CLICKEDIDCRADlO3:BN_CLICKEDIDCRADlO4:BN_CLICKEDIDOK:BN_CLICKEDIDC_CHECK1:BN_CLICKED,說(shuō)明:BN_CLlCKED事件:當(dāng)鼠標(biāo)單擊按鈕類控件(單選按鈕等)觸發(fā)。BN_DOUBLECLICKED:當(dāng)鼠標(biāo)雙擊按鈕類控件事件被觸發(fā);EN_CHANGE:編輯框的內(nèi)容被改變,步驟五、添加代碼實(shí)現(xiàn)相應(yīng)功能。計(jì)算按鈕:voidCLtDlg:OnOK()UpdateData(true);/更新所有與對(duì)話框相關(guān)聯(lián)的變量switch(m_dop)case0:/加法m_m3=m_m1+m_m2;break;case1:/減法m_m3=m_m1-m_m2;break;case2:/乘法m_m3=m_m1*m_m2;break;case3:/除法m_m3=m_m1/m_m2;break;UpdateData(false);/更新與變量相關(guān)聯(lián)的控件的顯示狀態(tài),步驟五、添加代碼實(shí)現(xiàn)相應(yīng)功能。編輯框1:voidCLtDlg:OnChangeEdit1()UpdateData();if(m_ft)OnOK();編輯框2:voidCLtDlg:OnChangeEdit2()UpdateData();if(m_ft)OnOK();立即計(jì)算復(fù)選框:voidCAaDlg:OnCheck1()UpdateData();if(m_ft)OnOK();,步驟五、添加代碼實(shí)現(xiàn)相應(yīng)功能。單選框1:+voidCLtDlg:OnRadio1()UpdateData(true);m_str=+;UpdateData(false);單選框2:-voidCLtDlg:OnRadio2()UpdateData(true);m_str=-;UpdateData(false);,步驟五、添加代碼實(shí)現(xiàn)相應(yīng)功能。單選框3:*voidCLtDlg:OnRadio3()UpdateData(true);m_str=*;UpdateData(false);單選框

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論