




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、對(duì)話框?qū)υ捒蚴且粋€(gè)彈出式窗口,是Windows應(yīng)用程序的常見元素之一。MFC的Cdialog類封裝了對(duì)話框功能;對(duì)話框分為模態(tài)對(duì)話框和非模態(tài)對(duì)話框;模態(tài)對(duì)話框是一個(gè)有系統(tǒng)菜單、標(biāo)題欄、邊框等界面元素的彈出式窗口。調(diào)用模態(tài)對(duì)話框時(shí),系統(tǒng)會(huì)自動(dòng)禁止使用這個(gè)窗口和它所有的子窗口,直至該模態(tài)對(duì)話框關(guān)閉或銷毀;如Microsoft Word中的打開對(duì)話框模態(tài)對(duì)話框的調(diào)用CMyDlg dlg;dlg.DoModal();非模態(tài)對(duì)話框 非模態(tài)對(duì)話框是一個(gè)有系統(tǒng)菜單、標(biāo)題、邊框的彈出式窗口,非模態(tài)對(duì)話框不會(huì)禁止使用其父窗口。如Microsoft Word的文檔窗口、查找對(duì)話框。非模態(tài)對(duì)話框的調(diào)用CNoModa
2、lDlg *pDlg;/定義對(duì)話框指針pDlg=new CNoModalDlg(this);/分配實(shí)例對(duì)象空間pDlg-Create(IDD_NOMODALDLG); /創(chuàng)建非模態(tài)對(duì)話框pDlg-ShowWindow(SW_SHOW); /顯示非模態(tài)對(duì)話框Cdialog中常用成員函數(shù)及功能通用對(duì)話框 Windows系統(tǒng)提供了一些通用對(duì)話框,如文件對(duì)話框、顏色對(duì)話框、字體對(duì)話框。 MFC分別使用CFileDialog類、CColorDialog類、和CFontDialog類封裝其功能。通用對(duì)話框的使用步驟 聲名對(duì)話框類型的變量; 顯示對(duì)話框之前,設(shè)置通用對(duì)話框的屬性; 調(diào)用DoModal函數(shù),顯
3、示模態(tài)對(duì)話框; 獲得DoModal函數(shù)的返回值,判斷用戶是單擊了“確定”或“取消”按鈕; 若用戶單擊了“確定”按鈕,則得到用戶使用對(duì)話框時(shí)所做的選擇。字體對(duì)話框字體對(duì)話框用于為選定的文字設(shè)置字體;字體對(duì)話框的使用步驟如下:1)定義CFontDialog類型的變量;2)調(diào)用DoModal()函數(shù),顯示字體對(duì)話框;3)調(diào)用GetCurrentFont()函數(shù),得到選種的字體信息,并以其構(gòu)造Cfont類型的變量;4)將Cfont類型的字體選入當(dāng)前繪圖環(huán)境;5)應(yīng)用該字體顯示文字;6)恢復(fù)老字體;CFontDialog類常用成員函數(shù)顏色對(duì)話框顏色對(duì)話框的使用步驟:1)定義CColorDialog類型的
4、變量,并用構(gòu)造函數(shù)對(duì)其進(jìn)行初始化;2)調(diào)用Do Modal()函數(shù),顯示顏色對(duì)話框;3)調(diào)用CColorDialog:GetColor()函數(shù),獲得用戶選擇的顏色信息。文件對(duì)話框文件對(duì)話框的構(gòu)造函數(shù):CFileDialog:CFileDialog( )中參數(shù)lpszFilter用于指定可供選擇的文件類型及相應(yīng)的擴(kuò)展名,格式如下:“Chart Files(*.xls)|*.xls|Worksheet Files(*.xls)|*.xls|All Files(*.*)|*.*|”CFileDialog類的成員函數(shù)通用對(duì)話框編程舉例v利用MFC AppWizard新建一個(gè)單文檔應(yīng)用程序,工程名為Co
5、mmonDialogv利用資源面版的菜單編輯器,在主菜單中添加一列“通用對(duì)話框”菜單,并添加三個(gè)菜單項(xiàng),ID號(hào)分別為ID_FONT,ID_COLOR,ID_FILE,標(biāo)題分別為“字體對(duì)話框”、“顏色對(duì)話框”、“文件對(duì)話框”通用對(duì)話框編程舉例 定義變量 在項(xiàng)目工作區(qū)窗口中,選擇類面版中的視圖類CCommonDialogView,單擊右鍵,在彈出的菜單中選擇“Add Member Variable”菜單項(xiàng),為視圖類添加兩個(gè)成員變量:m_font和m_color,變量的類型分別為:LOGFONT和 COLORREF。 為視圖類CCommonDialogView的以下成員函數(shù)添加代碼CCommonDi
6、alogView:CCommonDialogView()/ TODO: add construction code here m_color=RGB(255,0,0); /初始化顏色變量 memset(&m_font,0,sizeof(m_font); /將m_font所在內(nèi)存空間清零 m_font.lfWeight=50; /設(shè)置字體寬度為50 m_font.lfHeight=50; /設(shè)置字體高度為50 strcpy(m_font.lfFaceName,黑體); /設(shè)置字體名void CCommonDialogView:OnDraw(CDC* pDC)CCommonDialogDo
7、c* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data here CString str=歡迎使用Visual C+6.0;CRect rect;GetClientRect(rect);CFont newfont,*oldfont;newfont.CreateFontIndirect(&m_font);oldfont=pDC-SelectObject(&newfont);pDC-SetBkColor(RGB(128,128,128);pDC-SetTextColor(m_c
8、olor);pDC-TextOut(rect.right/4,rect.bottom/2,str);pDC-SelectObject(oldfont);編寫菜單項(xiàng)消息處理函數(shù),調(diào)用通用對(duì)話框使用類向?qū)В篊lass name選擇CcommonDialogView,Object Ids選擇ID_FONT,Message選擇COMMAND,代碼如下:void CCommonDialogView:OnFont() / TODO: Add your command handler code hereCFontDialog font; /定義字體對(duì)話框變量int i=font.DoModal();/調(diào)用字
9、體對(duì)話框,并返回函數(shù)值if(i=IDOK) /如果選用了OK按鈕 font.GetCurrentFont(&m_font); /得到選用的字體信息,存入m_font變量 Invalidate(); /使窗口重畫顏色對(duì)話框代碼如下:void CCommonDialogView:OnColor() / TODO: Add your command handler code hereCColorDialog color; /定義顏色對(duì)話框變量int i=color.DoModal();/調(diào)用顏色對(duì)話框,并返回值if(i=IDOK) /如果選擇了OKm_color=color.GetColor(); /得到選中的顏色,存入m_color變量 Invalidate(); /使窗口重畫文件對(duì)話框代碼如下:void CCommonDialogView:OnFile() / TODO: Add your command handler code hereCString filter,str; /定義字符串變量filter=Worksheet Files(*.xls)|*.xls|All Files(*.*)|*.*|; /定義過濾串CFileDialog file(TRUE,NULL,NULL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國(guó)安撫奶嘴行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)嫩肉粉市場(chǎng)營(yíng)銷渠道與投資運(yùn)作模式分析研究報(bào)告
- 2025-2030中國(guó)女性保健藥品行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國(guó)太陽能曝氣器行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國(guó)天然有機(jī)美行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 建筑采石行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 動(dòng)物解剖浸制標(biāo)本企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 檔案館行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)增塑劑行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)與投資研究報(bào)告
- 2025-2030中國(guó)城市公交行業(yè)市場(chǎng)深度調(diào)研及投資策略與投資前景研究報(bào)告
- 《中醫(yī)學(xué)》泄瀉-課件
- 固體飲料生產(chǎn)許可證審查細(xì)則
- 2022年電子元器件貼片及插件焊接檢驗(yàn)規(guī)范
- 周口市醫(yī)療保障門診特定藥品保險(xiǎn)申請(qǐng)表
- 可下載打印的公司章程
- 三年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)課件-水果拼盤 全國(guó)通用(共15張PPT)
- 污水池內(nèi)防腐施工方案
- 海南省省直轄縣級(jí)各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)居民村民委員會(huì)
- 簡(jiǎn)約喜慶元宵節(jié)介紹模板 教學(xué)課件
- 西藏林芝嘉園小區(qū)項(xiàng)目可研(可研發(fā))
- summary-writing-概要寫作-優(yōu)質(zhì)課件
評(píng)論
0/150
提交評(píng)論