作者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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1449167914.A.939.html
1F:推 overhead: 你检查一下是否所有事件都注册了,都是ON_开头 12/04 09:50
2F:→ t78923t: 请问是所有额外include的物件都要注册还是指介面上的按钮 12/04 16:04
3F:→ t78923t: 等物件需注册? 12/04 16:04
4F:→ james732: 你先加些messagebox确定OnBnClickedButton5真的有跑 12/04 17:04
5F:推 overhead: 按钮对应的事件讯息。跟同三楼言,要先确定这个事件真的 12/04 19:12
6F:→ overhead: 有进func。虽然vc会自动长出事件所需的code,但有时会出 12/04 19:12
7F:→ overhead: 错 12/04 19:12
8F:推 overhead: 例如 ON_BN_CLICKED(IDC_Reset, &CItemView::OnBnClicke 12/04 19:22
9F:→ overhead: dReset)这样的,参数都对吗? 12/04 19:22
10F:→ sosokill: MFC不是有中断点? 善用啊 12/05 00:13
11F:→ t78923t: 我发现问题了...因为按钮1有开com port的功能,但没有关c 12/05 02:37
12F:→ t78923t: om port功能,没想到按钮1功能执行完com port就关了,造 12/05 02:37
13F:→ t78923t: 成按钮5的指令没送出去= = 12/05 02:37