按钮直接点击与调用按钮函数有什么区别?

gaoc2006 2009-06-17 02:54:50
CTEST为对话框类,包含一个OnButton()函数
在其他类里定义CTEST *TEST;
TEST->OnButton();
与在TEST类的界面上直接点击确定按钮有什么区别吗?

因为我在使用中


TEST::OnButton(){
m_ListCtrl.SetItemText(ItemNum, 0, _itoa(ItemNum,token,10);
这句报错,直接点击按钮不报错,在其他类中调用 TEST->OnButton();就报错,为什么呢,m_ListCtrl是个列表对象?

}
...全文
168 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzfch 2009-06-17
  • 打赏
  • 举报
回复
要先初始化对话框
TEST = new CTEST();
TEST->Create( IDD_DIALOG1);
TEST->ShowWindow(SW_SHOW);
gaoc2006 2009-06-17
  • 打赏
  • 举报
回复
谢谢各位了,按照你们说的,我改了一下可以用了!茅塞顿开的感觉,呵呵,再次感谢
NTooL 2009-06-17
  • 打赏
  • 举报
回复
刚领把钥匙,房子还没盖好,就要进去住了?
fangchao918628 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 greatws 的回复:]
CTEST *TEST;没有指向那个实例?

因为你调用的不是同一个东西啊。你必须调用对话框类相同的实例的那个函数,否则就会报错。
[/Quote]
UP
Test 是类指针,你要先构造个实例,赋值
CTEST *TEST; 没有初始值,系统随便给它一个,当然错了啊!
贪玩的老鼠 2009-06-17
  • 打赏
  • 举报
回复
动作不同,结果一样!
产生你这个的原因是因为你的
m_ListCtrl没有创建.

CTEST *TEST这个必须调用了Create,或者DOMODAL命令时,
对话框才真正的初始化,对话框上的控件才可以使用!
否则,任何关于对话框上控件的操作都会产生错误.
greatws 2009-06-17
  • 打赏
  • 举报
回复
CTEST *TEST;没有指向那个实例?

因为你调用的不是同一个东西啊。你必须调用对话框类相同的实例的那个函数,否则就会报错。

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧