作者t78923t (トースト)
看板C_and_CPP
標題[問題] 由MFC按鈕呼叫執行class內的內容
時間Fri Dec 4 02:38:26 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS2008
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
MFC專案中的按鈕無法執行由include併入的class
餵入的資料(Input):
預期的正確結果(Expected Output):
可經由Dialog上的按鈕或藉由輸入等方式執行include進來的class
錯誤結果(Wrong Output):
有些按鈕無反應
程式碼(Code):(請善用置底文網頁, 記得排版)
///class ABC:所有欲執行功能的類別,由include方式合併至MFC專案中
class ABC{
void one(int Num);
void two(void);
void three(void);
....
}
//以下為MFC Dialog 下的按鈕內容
void CControl_UIDlg::OnEnChangeEdit1()
{
//由使用者輸入int變數Num
}
void CControl_UIDlg::OnBnClickedButton1()
{
UpdateData(); //更新由Edit1所輸入的變數Num
ABC A;
A.one(Num);
A.two(void);
UpdateData();
// Button1可成功執行
}
void CControl_UIDlg::OnBnClickedButton5()
{
ABC A;
A.two(void);
A.three(void);
// Button5沒反應,無法執行,呼叫方式錯誤??
補充說明(Supplement):
麻煩大家了,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.25.118.211
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1449167914.A.939.html
推 overhead: 你檢查一下是否所有事件都註冊了,都是ON_開頭 12/04 09:50
→ t78923t: 請問是所有額外include的物件都要註冊還是指介面上的按鈕 12/04 16:04
→ t78923t: 等物件需註冊? 12/04 16:04
→ james732: 你先加些messagebox確定OnBnClickedButton5真的有跑 12/04 17:04
推 overhead: 按鈕對應的事件訊息。跟同三樓言,要先確定這個事件真的 12/04 19:12
→ overhead: 有進func。雖然vc會自動長出事件所需的code,但有時會出 12/04 19:12
→ overhead: 錯 12/04 19:12
推 overhead: 例如 ON_BN_CLICKED(IDC_Reset, &CItemView::OnBnClicke 12/04 19:22
→ overhead: dReset)這樣的,參數都對嗎? 12/04 19:22
→ sosokill: MFC不是有中斷點? 善用啊 12/05 00:13
→ t78923t: 我發現問題了...因為按鈕1有開com port的功能,但沒有關c 12/05 02:37
→ t78923t: om port功能,沒想到按鈕1功能執行完com port就關了,造 12/05 02:37
→ t78923t: 成按鈕5的指令沒送出去= = 12/05 02:37