首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2012中考 | 2012高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 托業 | 雅思 | 專四專八 | 口譯筆譯 | 博思 GRE GMAT | 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 零起點法語 | 零起點德語 | 零起點韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師 | 秘書資格 | 心理咨詢師 | 出版專業資格 | 廣告師職業水平 | 駕駛員 網絡編輯 | 公共營養師 | 國際貨運代理人 | 保險從業資格 | 電子商務師 | 普通話 | 企業培訓師 營銷師 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 化工工程師 | 材料員 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
對話框1
記得以前上學的時候聽一個老師說過,計算機技術的核心是輸入輸出和二進制。Windows應用程序工作的基本流程就是從用戶那里得到數據,經過相應的處理之后,再把處理結果輸出到屏幕和其他的輸出設備上。為了實現這個過程,就需要一個很重要的接口-對話框。
7.1對話框的基本知識
在MFC中,所有的控件類都是從CWnd類派生而來。以前做過一些其他開發技術的開發工作,相對其他IDE而言,VC下提供的控件很少,但是基本可以滿足開發需要了。
對話框的種類主要分2中,模態對話框和非模態對話框。
模態對話框:指當前顯示時,程序會暫停執行,知道關閉這個模態對話框后才能繼續執行其他任務(個人感覺這個只是一個相對暫停的概念,暫停的只是針對用戶操作部分,我們運行一個殺毒軟件程序,殺毒過程中如果有一些參數設定,會出現一些模態對話框,但是這個時候殺毒程序還是會繼續執行的)。
非模態對話框:對其他操作沒有影響,這個容易理解些。
7.2 對話框的創建和顯示
在Resources選項卡Dialog目錄下,可以添加一個新的對話框。添加一個對話框之后,類視圖可以看到也相應添加了一個新的類。在創建一個MFC單文檔應用程序的時候,系統為默認創建一個CAboutDlg類,在Dialog文件夾下可以看到IDD_ABOUTBOX這個對話框。在 View類和Frame類中操作對話框的時候,首先需要在cpp文件中引入該對話框的頭文件。
顯示一個對話框
1 void CMyboleView::OnDialog()
2 {
3 // TODO: Add your command handler code here
4 CTestDlg dlg;
5 dlg.DoModal();//DoModal是一個函數,剛不小心忘了括號,記清楚了
6
7 }
如果要顯示一個非模態對話框,需要調用Dialog類的Create函數。MSDN中,Create類的聲明如下
1 BOOL Create( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL );
2 BOOL Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );
由于非模態對話框顯示的時候程序不會暫停等待用戶操作,如果使用臨時變量的話,對象的生命周期在OnDialog()執行完之后就結束,這樣就無法正常顯示,所以可采用創建對象指針的方式,由于動態創建的指針對象是分配在堆內存上,堆內存上的變量周期可應用程序相同。
1 CTestDlg *pDlg=new CTestDlg;
2 pDlg->Create(IDD_DIALOG1,this);
3 pDlg->ShowWindow(SW_SHOW);
這里又涉及一個動態內存釋放的問題
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |