版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
會計學(xué)1程序設(shè)計教程對話框設(shè)計和Windows常用控件2.對話框分類對話框的分類主要有以下兩種:模式(Model)對話框和非模式(Modeless)對話框。對于模式對話框,在對話框關(guān)閉之前,用戶無法在同一應(yīng)用程序的其他地方進(jìn)行工作,如MicrosoftWord中的“打開文件”對話框。而對于非模式對話框,在它仍然保留在屏幕上的同時,用戶可以在同一應(yīng)用程序的其他窗口中進(jìn)行工作,如MicrosoftWord中的“查找與替換”對話框,在對話框保留在屏幕的同時,還可以進(jìn)行光標(biāo)的重定位及其他操作。第1頁/共63頁4.2創(chuàng)建對話框程序在VisualC++6.0中創(chuàng)建對話框應(yīng)用程序一般分為4個步驟:(1)利用資源編輯器創(chuàng)建一個對話框模板,加入需要的控件并設(shè)置對話框和控件的屬性。(2)利用ClassWizard創(chuàng)建與對話框資源對應(yīng)的CDialog的派生類。(3)編寫創(chuàng)建對話框的代碼,通常在響應(yīng)某個菜單項或者工具欄按鈕時彈出對話框。(4)為對話框的控件添加響應(yīng)的消息處理。第2頁/共63頁4.2.1建立對話框程序框架在MFC應(yīng)用程序中添加對話框資源,通常按下列步驟進(jìn)行:(1)利用MFCAppWizard向?qū)蓡挝臋n(SDI)應(yīng)用程序DialogTest。選擇“插入”→“資源”命令,或使用Ctrl+R組合鍵打開“插入資源”對話框。展開資源列表中的“Dialog”項,如圖4-1所示,“資源類型”列表中列出了各種類型的對話框資源。第3頁/共63頁第4頁/共63頁(2)單擊“新建”按鈕可以創(chuàng)建一個資源類型列表中指定類型的新資源;單擊“定制”按鈕可以創(chuàng)建資源類型列表中沒有的新類型的資源;單擊“導(dǎo)入”按鈕可以將外部已有的位圖、圖標(biāo)等資源添加到當(dāng)前應(yīng)用程序中。(3)修改對話框?qū)傩?。在對話框模板的空白處右擊,從彈出的快捷菜單中選擇“屬性”命令,彈出如圖4-3的“對話屬性”對話框。第5頁/共63頁對話框的屬性有“常規(guī)”、“樣式”、“更多樣式”、“擴展樣式”和“更多擴展樣式”5個部分,這里只介紹最常用的“常規(guī)”屬性,其中各個屬性說明如表4-2所示。根據(jù)需要設(shè)置各項屬性即可。第6頁/共63頁4.2.2創(chuàng)建對話框類在創(chuàng)建了對話框模板后,就可以利用ClassWizard來創(chuàng)建從CDialog派生且連接到對話框模板的對話框類了,并可以添加與控件相關(guān)聯(lián)的成員變量。需要注意的是,無論在創(chuàng)建對話框類之前還是之后,都可以向?qū)υ捒蛸Y源添加控件,但只有在創(chuàng)建對話框類之后,才可以為對話框添加與控件關(guān)聯(lián)的成員變量和消息處理函數(shù)。第7頁/共63頁4.2.3了解對話框常用函數(shù)CDialog類是對話框的基類,用戶在程序中創(chuàng)建的對話框類一般都是CDialog類的派生類。CDialog類從CWnd類派生而來,所以它繼承了CWnd類的成員函數(shù),用戶在編寫對話框程序時除了使用CDialog類的成員函數(shù)之外,還可以調(diào)用CWnd類的一些成員函數(shù)進(jìn)行對話框的管理。對話框常用的成員函數(shù)主要有以下幾個:第8頁/共63頁1.DoModal該方法用于創(chuàng)建并顯示一個模式對話框,其原型如下:
virtualintDoModal();返回值:該方法返回一個整數(shù)值,該數(shù)值可以應(yīng)用于EndDialog方法。如果返回值為-1,則表示沒有創(chuàng)建對話框;如果為IDABORT,則表示有其他錯誤發(fā)生。2.Create該方法從對話框模板中創(chuàng)建一個對話框資源,其原型如下:BOOLCreate(LPCTSTRlpszTemplateName,CWnd*pParentWnd=NULL);
BOOLCreate(UINTnIDTemplate,CWnd*pParentWnd=NULL);3.EndDialog該函數(shù)用于退出一個模式對話框,返回nResult作為DoModal的返回值,其原型如下:
voidEndDialog(intnResult);第9頁/共63頁4.OnCancel該函數(shù)在單擊對話框中的“Cancel”按鈕或按Esc鍵時由框架調(diào)用,其原型如下:
virtualvoidOnCancel();5.OnInitDialog該重載函數(shù)用于響應(yīng)WM_INTTDIALOG消息,對對話框進(jìn)行初始化處理,其原型如下:
virtualBOOLOnInitDialog();返回值:返回非零值,輸入焦點為第一個控件。若程序已顯式地設(shè)置焦點到某個控件處,則返回零。6.OnOK單擊ID為IDOK的按鈕時調(diào)用的函數(shù),關(guān)閉對話框,并返回IDOK,其原型如下:
virtualvoidOnOK();第10頁/共63頁4.3使用Windows常用控件為了與用戶進(jìn)行直觀、方便、快捷的交互,Windows操作系統(tǒng)提供了各種控件??丶?Control)是一種子窗口,應(yīng)用程序用它來與其他窗口進(jìn)行簡單的交互。一般情況下,在使用對話框的時候都需要加上對話框控件,如編輯框、組合框、按鈕和單選按鈕等。第11頁/共63頁4.3.1Windows常用控件介紹1.靜態(tài)文本控件(CStatic)靜態(tài)文本控件用來在屏幕上顯示字符串,一般不響應(yīng)消息,在運行過程中不和用戶發(fā)生任何關(guān)系。當(dāng)把矩形范圍定位好之后,就可以直接輸入文本。該控件的一個常用屬性是標(biāo)題(Caption)屬性,用來設(shè)置在控件中顯示的文本。在很多情況下,對話框中的一些說明性質(zhì)的文字均可以用靜態(tài)文本進(jìn)行輸出。管理靜態(tài)文本控件的MFC類是CStatic類。第12頁/共63頁2.編輯框控件(CEdit)編輯框控件是一個讓用戶從鍵盤輸入和編輯文字的矩形窗口。同時,用戶也可以使用編輯框控件來編輯或修改簡單的文本文件。編輯框一般和靜態(tài)文本控件一起使用,當(dāng)它獲得焦點時,框內(nèi)會出現(xiàn)一個閃動的插入符。3.按鈕控件(CEdit)在Windows中按鈕是隨處可見的,其中常見的按鈕有3種類型:按鍵按鈕、單選按鈕和復(fù)選框。按鍵按鈕通??梢粤⒓串a(chǎn)生某個動作,執(zhí)行某個命令,因此也常被稱為命令按鈕。單選按鈕的外觀是一個圓圈,當(dāng)它被選中時,單選按鈕中就標(biāo)上一個黑點。復(fù)選框的外觀是一個空心方框,當(dāng)它被選中時,復(fù)選框中就加上一個對勾標(biāo)記,通常復(fù)選框只有選中和沒有選中兩種狀態(tài)。第13頁/共63頁4.列表框控件(CListBox)列表框是一種輸入控制,它可以使用戶從所列的表項中進(jìn)行選擇。用戶可以在其中選擇一個或多個項,這與單選按鈕和復(fù)選框的功能有些相近,但不同的是,列表框中項的數(shù)目是靈活變化的,程序運行時可往列表框中添加或刪除某些項。并且,當(dāng)列表框中項的數(shù)目較多不能一次全部顯示時,還可以通過滾動條來拓展顯示范圍。第14頁/共63頁5.組合框控件組合框是列表框和編輯框的組合。在組合框中,用戶除了可以在列表中對已經(jīng)存在的選項進(jìn)行選擇外,還可以輸入新的選項。Windows提供了3種類型的組合框:簡單組合框(Simple)、下拉式組合框(Dropdown)和下拉式列表框(DropList)。簡單組合框和下拉式組合框都含有列表框和編輯框控件,只不過簡單組合框的列表框不是下拉式的,跟正常的列表框一樣。下拉式列表框則雖然有下拉式的列表,但卻沒有文字編輯功能。第15頁/共63頁6.滾動條控件滾動條是窗口中常見的對象,當(dāng)窗口客戶區(qū)中要顯示比其自身大的對象時,滾動條便非常有用了。這種滾動條與窗口一同創(chuàng)建,位于窗口用戶區(qū)旁的非用戶區(qū),用來擴展用戶區(qū)的顯示范圍,它被稱為標(biāo)準(zhǔn)滾動條。另外,還有一種作為控件的滾動條,這是一個獨立的窗口,具有直接的輸入焦點,使用這種滾動條的目的未必是滾動顯示窗口內(nèi)容。第16頁/共63頁4.3.2添加Windows控件控件的創(chuàng)建方法有兩種,一種是在對話框中指定控件,即將控件的父窗口指定為對話框,當(dāng)程序啟動該對話框時,Windows系統(tǒng)自動為對話框創(chuàng)建控件,當(dāng)關(guān)閉對話框時,Windows所創(chuàng)建的控件也隨之被撤銷。另一種是將控件看作是任意窗口的子窗口,通過調(diào)用相應(yīng)的創(chuàng)建函數(shù)來實現(xiàn)。第17頁/共63頁1.通過資源編輯器添加控件打開對話框資源編輯器彈出如圖48所示的控件工具欄之后,就可以方便地在對話框中添加各種控件了。(1)單擊添加:在控件工具欄上單擊要添加的控件后,將鼠標(biāo)移動到對話框模板上,此時鼠標(biāo)光標(biāo)變成了“+”形狀,在對話框上再次單擊鼠標(biāo),控件就添加到對話框模板上了。(2)拖動添加:拖動要添加的控件到對話框模板上,然后釋放鼠標(biāo),也可以添加控件。第18頁/共63頁2.調(diào)用創(chuàng)建函數(shù)添加控件如果希望在程序的運行過程中在對話框中添加控件,一般需要先聲明一個MFC控件類的對象,然后調(diào)用Create()函數(shù)和其他成員函數(shù)顯示控件和設(shè)置屬性。Create()是CWnd的成員函數(shù),其原型如下:virtualBOOLCreate(LPCTSTRlpszClassName,LPCTSTRlpszWindowName,DWORDdwStyle,ConstRECT&rect,CWnd*pParentWnd,UINTnID,CCreateContext*pContext=NULL);第19頁/共63頁4.3.3修改Windows控件屬性1.控件ID
每個控件都有一個ID標(biāo)識,系統(tǒng)給添加的每個控件指定了一個默認(rèn)的ID標(biāo)識,用戶可以根據(jù)需要對其進(jìn)行修改,以便更清楚地表達(dá)出控件的作用。控件ID以IDC_開頭,命名ID時最好包括控件類型,例如,IDC_BUTTON前綴用于按鈕,IDC_EDIT前綴用于編輯框。ID可以由字母、數(shù)字及下劃線字符組成,且必須以字母或下劃線字符開頭。MFC約定ID中的字母全部大寫。第20頁/共63頁2.標(biāo)題屬性靜態(tài)文本、組框、命令按鈕以及單選按鈕等控件都可以顯示標(biāo)題,用來對控件進(jìn)行文字說明??丶?biāo)題中的字符“&”使緊跟其后的字符附帶下劃線,按Alt+下劃線上的字符將啟動該控件。若控件是一個單選按鈕,則按Alt+下劃線上的字符將選擇該按鈕;若控件是命令按鈕,則將激活按鈕命令;若控件是一個靜態(tài)文本,則將激活緊隨其后的下一個控件。第21頁/共63頁3.制表站屬性該屬性控制利用鍵盤Tab鍵獲取對話框窗口的操作焦點,獲得焦點的控件能夠響應(yīng)當(dāng)前的鍵盤輸入??丶@得焦點后,按Enter鍵就執(zhí)行控件所對應(yīng)的命令。任何對話框中都只能由一個控件擁有焦點。第22頁/共63頁4.組屬性組屬性用來對一組控件進(jìn)行編組,用戶可以用鍵盤方向鍵在該組控件內(nèi)切換焦點。組屬性常用于單選按鈕和復(fù)選框,在同一組內(nèi)的單選按鈕具有互斥的特性,即在這些單選按鈕中只能有一個是選中的。如果一個控件具有Group屬性,則這個控件以及按Tab順序緊隨其后的所有控件都屬于一組,直到遇到另一個有Group屬性的控件為止。第23頁/共63頁4.4對控件進(jìn)行排版在實際編程中,有時會根據(jù)需要在對話框中加入多個控件,這時就需要對控件進(jìn)行適當(dāng)?shù)呐虐嬉允箤υ捒蚋用烙^。控件布局可以利用如圖4-11所示的布局菜單,或者利用如圖4-12所示的控件布局工具欄來實現(xiàn)。要注意的是,布局菜單和布局工具欄只有在對對話框資源進(jìn)行編輯時才有效,對其他資源進(jìn)行編輯時無效。第24頁/共63頁第25頁/共63頁4.4.1設(shè)置Windows控件的大小如果要設(shè)置控件的大小,可以利用控件周圍的尺寸調(diào)整點實現(xiàn),如圖4-13所示,可看到控件周圍有8個調(diào)整點。特別地,對于靜態(tài)文本控件,當(dāng)輸入標(biāo)題內(nèi)容時,控件的大小會自動改變。調(diào)整控件大小的具體方法如下:第26頁/共63頁第27頁/共63頁(1)單擊要調(diào)整的控件并將其選中,此時控件四周顯示出尺寸調(diào)整點。(2)把鼠標(biāo)光標(biāo)放在調(diào)整點上,當(dāng)鼠標(biāo)變?yōu)殡p向箭頭時,水平或垂直拖動鼠標(biāo)以改變控件的寬度或者高度。如果希望能等比例地改變控件的寬度和高度,可以把鼠標(biāo)光標(biāo)放在右下腳的調(diào)整點位置進(jìn)行拖動。(3)調(diào)整為滿意大小時停止拖動即可。第28頁/共63頁4.4.2設(shè)置Windows控件的對齊模式為了使程界面更加美觀,有時需要對多個控件進(jìn)行對齊排列,此時同樣可以使用布局菜單或者控件布局工具欄來實現(xiàn),具體方法如下:(1)選中需要對齊的多個控件。(2)選擇“排列”菜單的下一級菜單中的選項進(jìn)行設(shè)置,可以進(jìn)行的對齊方式有居左對齊、居右對齊、頂端對齊、底部對齊、水平居中和垂直居中。也可以使用控件布局工具欄中的工具按鈕實現(xiàn)相同的功能。第29頁/共63頁提示:當(dāng)選中多個控件進(jìn)行對齊設(shè)置時,在“排列”菜單的下一級菜單子菜單中選擇居左對齊、居右對齊、頂端對齊或者底部對齊后,所有控件都按照選中控件中最先添加的控件進(jìn)行調(diào)整。當(dāng)選擇水平居中或者垂直居中時,是指所有選中的控件相對于對話框水平居中或者垂直居中。第30頁/共63頁4.5模式對話框和非模式對話框?qū)υ捒蛑饕譃槟J綄υ捒蚝头悄J綄υ捒騼深悾鼈冊诔绦蛑械膽?yīng)用非常廣泛,利用這兩種對話框可以方便地實現(xiàn)信息的交互。第31頁/共63頁4.5.1模式對話框和非模式對話框概述模式對話框是最常用的一類對話框,用戶可以通過選擇菜單選項或單擊工具按鈕打開一個對話框,然后進(jìn)行數(shù)據(jù)的輸入操作。對于模式對話框的編程可以按以下步驟進(jìn)行。第32頁/共63頁(1)根據(jù)要求創(chuàng)建對話框模板。(2)使用ClassWizard創(chuàng)建對話框類并進(jìn)行各類事件函數(shù)的代碼編寫。(3)對視圖類進(jìn)行編輯,以便對話框能夠被激活。在所編寫的代碼中,首先創(chuàng)建對話框類的對象,然后通過該對象調(diào)用對話框類成員函數(shù)DoModal()。只有當(dāng)用戶退出對話框窗口時,DoModal函數(shù)才能返回。第33頁/共63頁4.5.2創(chuàng)建模式對話框創(chuàng)建模式對話框需要調(diào)用CDialog類的成員函數(shù)DoModal(),該函數(shù)的功能就是創(chuàng)建并顯示一個模式對話框,其返回值將作為CDialog類的另一個成員函數(shù)EndDialog的參數(shù),后者的功能是關(guān)閉模式對話框。下面通過一個例子來看一下模式對話框的創(chuàng)建過程。第34頁/共63頁voidCMyboleView::OnDialogTest(){CTestDlgdlgdlg.DoModal();}上述代碼中首先定義了一個對話框?qū)ο骴lg,然后調(diào)用DoModal()函數(shù)以產(chǎn)生一個模式對話框。需要注意的是,由于視類中并不知道這個CTestDlg對話框是什么樣的數(shù)據(jù)類型,因此應(yīng)該在視類的源文件中包含這個CTestDlg類的頭文件,即在視類的源文件中加入如下語句:#include"testdlg.h"第35頁/共63頁4.5.3創(chuàng)建非模式對話框程序相對于模式對話框,創(chuàng)建非模式對話框相對復(fù)雜,需要調(diào)用Create()和ShowWindow()函數(shù)。Create()函數(shù)具有以下兩種形式的聲明:BOOLCDialog::Create(LPCTSTRlpszTemplateName,CWnd*pParent=NULL);BOOLCDialog::Create(UINTnIDTemplate,CWnd*pParentWnd=NULL);第36頁/共63頁利用Create()函數(shù)創(chuàng)建非模態(tài)對話框后,還需要調(diào)用ShowWindow()函數(shù)將這個對話框顯示出來,其函數(shù)原型如下:BOOLCDialog::ShowWindow(SW_SHOW);第37頁/共63頁如果要銷毀對話框?qū)ο?,可以通過以下兩種方法實現(xiàn):(1)在對話框退出時銷毀對象。重載OnOK與OnCancel函數(shù),在函數(shù)中調(diào)用父類的同名函數(shù),然后調(diào)用DestroyWindow()函數(shù)強制銷毀窗口,在對話框中映射WM_DESTROY消息,在消息處理函數(shù)中調(diào)用deletethis,強行刪除自身對象。(2)通過向父窗口發(fā)送消息,要求其他窗口對其進(jìn)行銷毀。首先需要定義一個消息用于進(jìn)行通知,然后在對話框中映射WM_DESTROY消息,在消息處理函數(shù)中調(diào)用消息發(fā)送函數(shù)通知其他窗口。在接收消息的窗口中利用ON_MESSAGE映射處理消息的函數(shù),并在消息處理函數(shù)中刪除對話框?qū)ο蟆5?8頁/共63頁4.6Windows通用對話框在使用Windows的過程中,用戶經(jīng)常會遇到一些常用的有特定用途的對話框,如文件打開對話框、設(shè)置字體對話框等。這樣的對話框使用非常頻繁,為了使用戶不必自己設(shè)計該類型的對話框,Windows提供了一組標(biāo)準(zhǔn)用戶界面對話框,它們都由MFC庫中相應(yīng)的類來支持,可以用來執(zhí)行各種標(biāo)準(zhǔn)操作,如選擇文件、指定字體和選擇顏色等。第39頁/共63頁4.6.1CFontDialog對話框CFontDialog類封裝了標(biāo)準(zhǔn)的字體對話框,使用戶可以從系統(tǒng)安裝的字體列表中選擇要用的字體,圖4-16即是一個“字體”對話框。“字體”對話框的創(chuàng)建與一般的對話框基本一樣,首先是構(gòu)建一個CFontDialog對象,然后調(diào)用CFontDialog::DoModal()函數(shù)來啟動對話框。第40頁/共63頁第41頁/共63頁CFontDialog類的構(gòu)造函數(shù)如下:CFontDialog(LPLOGFONTlplfInitial=NULL,DWORDdwFlags=CF_EFFECTS|CF_SCREENFONTS,CDC*pdcPrinter=NULL,CWnd*pParentWnd=NULL);第42頁/共63頁4.6.2CFileDialog對話框很多Windows應(yīng)用程序都具有打開文件和文件另存為功能,這兩項功能都需要使用對話框以獲取要打開的文件名或欲保存的文件名。CFileDialog類允許編程人員在程序中嵌入通用文件對話框,以實現(xiàn)Windows標(biāo)準(zhǔn)的“打開”和“另存為”對話框。第43頁/共63頁CFileDialog類的構(gòu)造函數(shù)如下:CFileDialog(BOOLbOpenFileDialog,LPCTSTRlpszDefExt=NULL,LPCTSTRlpszFileName=NULL,DWORDdwFlags=OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,LPCTSTRlpszFilter=NULL,CWnd*pParentWnd=NULL)第44頁/共63頁4.6.3CColorDialog對話框CColorDialog類用于實現(xiàn)顏色通用對話框,使用戶可以從顏色列表中選擇要用的顏色。CColorDialog類的構(gòu)造函數(shù)的格式為:CColorDialog(COLORREFclrInit=0,DWORDdwFlags=0,CWnd*pParentWnd=NULL);顯示顏色對話框的方法同顯示其他通用對話框一樣,都是先定義對象,然后調(diào)用DoModal()函數(shù),根據(jù)DoModal()函數(shù)返回的是IDOK還是IDCANCEL可知道用戶是否確認(rèn)了對顏色的選擇。DoModal()函數(shù)返回后,調(diào)用CColorDialog::GetColor()方法可以返回一個COLORREF類型的結(jié)果來指示在對話框中選擇的顏色。除此之外,也可以利用CColorDialog類中類型為CHOOSECOLOR的成員變量m_cc獲取選擇的顏色值。第45頁/共63頁4.6.4CPrintDialog對話框CPrintDialog類支持Print(打?。┖蚉rintSetup(打印設(shè)置)對話框,通過這兩個對話框用戶可以進(jìn)行與打印有關(guān)的操作。打印設(shè)置允許用戶指定打印時的特殊設(shè)置,并將自動處理安裝在用戶系統(tǒng)上的打印機特殊項。第46頁/共63頁CPrintDialog類的構(gòu)造函數(shù)如下所示:CPrintDialog(BOOLbPrintSetupOnly,DWORDdwFlags=PD_ALLPAGES|PD_USEDEVMODECOPIES|PD_NOPAGENUMS|PD_HIDEPRINTTOFILE|PD_NOSELECTION,CWnd*pParentWnd=NULL);第47頁/共63頁4.6.5CFindReplaceDialog對話框CFindReplaceDialog類用于實現(xiàn)Find(查找)和Replace(替換)對話框。創(chuàng)建的對話框僅僅提供了標(biāo)準(zhǔn)接口,它允許輸入待查找和替換的字符串,而真正的查找和替換功能則需要程序員自己來實現(xiàn)。與其他通用對話框不同的是,查找和替換對話框是非模式的,因此,對該類的使用要按照非模式對話框進(jìn)行。第48頁/共63頁由于“查找和替換”對話框是非模式對話框,它的創(chuàng)建方式與其他4類公用對話框不同。CFindReplaceDialog對象是用new操作符在堆中創(chuàng)建的,而不是像普通對話框那樣以變量的形式創(chuàng)建。要啟動“查找和替換”對話框,應(yīng)該調(diào)用CFindReplaceDialog::Create()函數(shù),而不是調(diào)用DoModal()函數(shù)。Create()函數(shù)的聲明如下:BOOLCreate(BOOLbFindDialogOnly,LPCTSTRlpszFindWhat,LPCTSTRlpszReplaceWith=NULL,DWORDdwFlags=FR_DOWN,CWnd*pParentWnd=NULL);第49頁/共63頁CFindReplaceDialog類只提供了一個界面,它并不會自動實現(xiàn)搜索和替換功能。該類使用了一種特殊的通知機制,當(dāng)用戶按下了操作的按鈕后,它會向父窗口發(fā)送一個通知消息,父窗口應(yīng)在該消息的消息處理函數(shù)中實現(xiàn)搜索和替換。CFindReplaceDialog類提供了一組成員函數(shù)用來獲得與用戶操作有關(guān)的信息,如表4-12所示,這組函數(shù)一般應(yīng)在通知消息處理函數(shù)中調(diào)用。第50頁/共63頁第51頁/共63頁4.7編程實例——對話框和控件使用綜合實例1.編程要求建立一單文檔應(yīng)用程序,運行該程序時首先出現(xiàn)登錄對話框,輸入的用戶名和密碼正確后方可進(jìn)入程序運行界面。為程序添加“控件演示”主菜單,并為其添加“按鈕示例”、“列表框示例”兩個子菜單項。編寫兩個子菜單項的消息處理函數(shù),使“按鈕示例”演示如何使用單選按鈕控制圖片變換,“列表框示例”演示如何使用列表框選擇不同的控件選項,然后動態(tài)生成并顯示。第52頁/共63頁2.編程實現(xiàn)(1)新建SDI項目。啟動MicrosoftVisualC++6.0,單擊“文件”→“新建”命令,在彈出的“新建”對話框中切換到“工程”選項卡,并選擇“MFCAppWizard[exe]”選項,在工程名稱文本框中輸入“DialogControl”,然后單擊“確定”按鈕。在彈出的對話框中選擇“單文檔”單選按鈕,其他采取默認(rèn)設(shè)置,然后單擊“下一步”按鈕。以后設(shè)置均采用向?qū)J(rèn)設(shè)置,直至完成。第53頁/共63頁(2)添加菜單。展開工作區(qū)的ResourceView頁面下的Menu文件夾,雙擊IDR_MAINFRAME,然后雙擊彈出窗口中的主菜單上的虛線框,彈出“菜單項目屬性”對話框,設(shè)置主菜單,標(biāo)題設(shè)為“控件演示”。此時,選中“彈出”復(fù)選框表示其有下拉菜單。雙擊其下拉菜單上的虛線框,添加兩個子菜單,標(biāo)題分別為“按鈕示例”和“組合框示例”,ID分別是“ID_BUTTON_TEST”和“ID_COMBO_TEST”。第54頁/共63頁(3)添加3個對話框資源。右擊Dialog文件夾,在彈出的快捷菜單中選擇“插入dialog”命令。在彈出的對話框資源上右擊并選擇“屬性”命令。在彈出的“對話屬性”對話框中設(shè)置其ID為“IDD_IDENTITY”,標(biāo)題為“身份驗證”。用同樣的方法創(chuàng)建“按鈕測試”和“組合框測試”對話框,其ID分別為“IDD_BUTTONTEST”和“IDD_COMBOTEST”。第55頁/共63頁(4)為對話框添加類。以“身份驗證”對話框為例,選中該對話框,按Ctrl+W組合鍵,彈出“AddingaClass”對話框,單擊“OK”按鈕,在彈出的“newclass”對話框中設(shè)置其類名為“CDlgIdentity”。使用同樣的方法為“按鈕測試”和“組合框測試”對話框添加類“CDlg
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年酒店標(biāo)準(zhǔn)間設(shè)計與裝修協(xié)議范本版B版
- 2024年科技企業(yè)培訓(xùn)部門負(fù)責(zé)人聘任合同
- 2025版道路橋梁監(jiān)理合同范本3篇
- 2025版借款合同書類圖片素材60張創(chuàng)意設(shè)計集3篇
- 二零二五年大型物流倉儲租賃合同3篇
- 2025年度智能安全監(jiān)控平臺建設(shè)與技術(shù)服務(wù)合同2篇
- 英語班本課程設(shè)計
- 2025版住宅小區(qū)新能源汽車停車位租賃合同3篇
- 2024年高端裝備制造項目技術(shù)轉(zhuǎn)讓合同的保密條款和違約責(zé)任
- 2025年度搬家企業(yè)標(biāo)準(zhǔn)作業(yè)流程合同3篇
- 2023四川測繪地理信息局直屬事業(yè)單位招考筆試參考題庫(共500題)答案詳解版
- 【《“雙減”背景下小學(xué)數(shù)學(xué)創(chuàng)新作業(yè)設(shè)計問題研究》(論文)】
- 健康養(yǎng)生管理系統(tǒng)
- 口風(fēng)琴在小學(xué)音樂課堂中的運用與實踐 論文
- 塑件模具驗收報告
- 2023年9月份濟南天橋區(qū)濼口實驗中學(xué)八年級上學(xué)期語文月考試卷(含答案)
- 信號分析與處理-教學(xué)大綱
- 特許經(jīng)銷合同
- 吉林大學(xué)藥學(xué)導(dǎo)論期末考試高分題庫全集含答案
- 2023-2024學(xué)年河北省唐山市灤州市數(shù)學(xué)七年級第一學(xué)期期末教學(xué)質(zhì)量檢測模擬試題含解析
- 數(shù)字油畫課件
評論
0/150
提交評論