路徑:
左下角「資源檢視」->逐級點開左上方資料夾->右鍵」dialog「目錄->新增資源->dialog->新建
選中對話方塊->右鍵->新增類->命名乙個名字
給所有按鈕新增事件監聽事件函式,函式一定是在新新增的類的cpp檔案中,如果跑到了其他cpp檔案中,建議刪除重新建立一次。
在numberpad.**件中,建立乙個變數:
public
: cstring n_str;
//用於傳值給主視窗,可以用與編輯框繫結的變數替換掉。
普通按鈕監聽事件函式中新增:
display
('0');
//裡面的數字是按鈕所代表的數字,這代表按下了「0」鍵
兩個特殊的按鈕監聽事件函式新增下面的**:
void numberpad::
onbnclickedok()
//numberpad是我設定的視窗類名
cdialogex::
onok()
;//確定按鍵特有的,用於判斷是否是按下確定才導致視窗消失
}void numberpad::
onbnclickedcancel()
在#include "numberpad.h"中的public新增:
cstring n_str;
//主要就是靠這個引數進行傳值
afx_msg void
display
(char str)
;//新增顯示函式,而且函式可以用numberpad命名空間的值
編寫顯示函式:
void numberpad::
display
(char str)
else
if(n_str !=
'0')
//編輯框內的內容不是0,則不斷增加字串的內容
break
;case
'-':
if(n_str[0]
!='-'
)//如果沒有負號,則增加乙個負號
break
;case
'(n_str !="")
//如果string有字元,則刪除掉最後乙個字元
break
;default:if
(n_str.
getlength()
<10)
break;}
}setdlgitemtext
(idc_edit_n, n_str)
;//顯示到編輯框中
//idc_edit_n是編輯框的id
在屬性中修改靜態文字框的id和通知
不修改這兩個,要麼建立不了監聽事件,要麼建立了也無法更改靜態文字的內容。
回到主視窗的cpp檔案中
在主視窗的cpp檔案中匯入上面視窗的**件。
給靜態文字建立乙個監聽事件,在監聽事件函式中新增:
void cdeliverydlg::
ons***blclickstaticd()
}
MFC建立模態對話方塊和非模態對話方塊
以下主對話方塊類為 maindlg 一 建立模態對話方塊 1.在資源檢視裡插入dialog,對新建的對話方塊進行更改屬性新增需要的控制項等操作。2.在新建的對話方塊中右鍵新增類,新增新的對話方塊類cmodeldlg。3.在maindlg.h中包含modeldlg的標頭檔案 include cmode...
模態對話方塊傳值限制
12月5日 今天要給模組訂單新增列印功能。功能模組的視窗在iframe框架裡的子視窗裡。必須把它弄到主視窗去列印。用了window.open 但是發現這樣就脫離的iframe框架。一些位址就顯示給客戶看了。給window.open 裡放引數消除位址列也不起作用。這不是我們想要的。我們的位址列是不變化...
MFC模態與非模態對話方塊
1.1模態對話方塊 model dialog box 當模態對話方塊顯示時,程式會暫停執行,直到關閉這個模態對話方塊之後,才能執行程式中的其他任務。1.2非模態對話方塊 modeless dialog box 當非模態對話方塊顯示時,執行轉而執行程式中的其他任務,而不用關閉這個對話方塊。2.1模態對...