1. 爲加法計算器程序添加一個模態對話框

Windows 對話框分爲兩類:模態對話框和非模態對話框。
模態對話框是這樣的對話框,當它彈出後,本應用程序其他窗口將不再接受用戶輸入,
只有該對話框響應用戶輸入,在對它進行相應操作退出後,其他窗口才能繼續與用戶交互。
非模態對話框則是, 它彈出後,本程序其他窗口仍能響應用戶輸入。非模態對話框一

般用來顯示提示信息等

step1:

根據創建對話框模板和修改對話框屬性中所講的方法,在Resource View 中的―Di
alog‖
上點右鍵選擇―Insert Dialog‖,創建一個新的對話框模板,修改其IDIDD_TIP_DIAL
OG
Caption 改爲提示,然後參考爲對話框添加控件中所講,在對話框模板上添加一個
靜態文本框(
static text),Caption改爲您確定要進行加法計算嗎?,接下來修改 OK按鈕
Caption 確定Cancel 按鈕的Caption取消,最後調整各個控件的位置和對話框的
大小。最終的對話框模板如下圖:

step2:

.根據創建對話框類和添加控件變量中創建對話框類的方法,在對話框模板上點右鍵
選擇
―Add Class...‖,彈出添加類的對話框,設置―Class name‖CTipDlg,點―OK‖。在Sol
ution Explorer
中可以看到生成了 CTipDlg類的頭文件TipDlg.h 和源文件 TipDlg.cpp

step3:

我們要在點計算按鈕之後彈出此提示對話框,那麼就要在計算按鈕的消息處理函
OnBnClickedAddButton()中訪問提示對話框類,所以爲了訪問CTipDlg類,在 Addition
Dlg.cpp
中包含 CTipDlg的頭文件:#include "TipDlg.h"

step4:

修改 OnBnClickedAddButton()的函數體,在所有代碼前,構造CTipDlg類的對象 tip
Dlg
,並通過語句 tipDlg.DoModal();彈出對話框,最後判斷DoModal()函數的返回值是IDO
K
還是 IDCANCEL 來確定是否繼續進行計算。 OnBnClickedAddButton()函數修改後如下:

void CAdditionDlg::OnBnClickedAddButton()
2. {
3. // TODO: Add your control notification handler code here
4. INT_PTR nRes; // 用於保存 DoModal 函數的返回值
5.
6. CTipDlg tipDlg; // 構造對話框類 CTipDlg 的實例
7. nRes = tipDlg.DoModal(); // 彈出對話框
8. if (IDCANCEL == nRes) // 判斷對話框退出後返回值是否爲 IDCANC
EL,如果是則 return,否則繼續向下執行
9. return;
10.
11. // 將各控件中的數據保存到相應的變量
12. UpdateData(TRUE);
13.
14. // 將被加數和加數的加和賦值給 m_editSum
15. m_editSum = m_editSummand + m_editAddend;
16.
17. // 根據各變量的值更新相應的控件。和的編輯框會顯示 m_editSum 的值
18. UpdateData(FALSE);
19. }





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章