当前位置: 代码迷 >> VC/MFC >> MFC下的tab control控件是否不能直接使用button控件
  详细解决方案

MFC下的tab control控件是否不能直接使用button控件

热度:164   发布时间:2016-05-02 03:33:21.0
MFC下的tab control控件是不是不能直接使用button控件?
我做了个程序,在tab control中加入了对话框,但是编译运行后发现,tab control中的button控件根本不起作用,调试加入断点,点击按钮后发现根本没有任何响应。
是不是tab control中的控件不能直接访问?
是不是必须在主窗体中通过子窗体的对象才能对它内部的控件进行访问呢?
有没有什么办法直接使用子窗体中的控件?
------解决思路----------------------
引用:
Quote: 引用:

不是啊,tab control控件在分页之后,是要先和某个视图的ID进行绑定的,也就是每个tab对应的页面,之后点击tab才能跳转到对应的界面上去

我描述的不够清楚,我已经实现了tab的页面跳转功能,现在的问题是我在子窗体中加入了button控件,但是运行时点击button却没有效果。

消息处理函数写了吗?消息和函数之间的关联做了吗?
------解决思路----------------------
“我在创建窗体的对象时用的是CDialog m_page,”
这个不是你的对话框,因为 对话框 模板 不对,这个模板里 根本就没有你的按钮。
CDLG1,模板里才有你的 按钮!
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

不是啊,tab control控件在分页之后,是要先和某个视图的ID进行绑定的,也就是每个tab对应的页面,之后点击tab才能跳转到对应的界面上去

我描述的不够清楚,我已经实现了tab的页面跳转功能,现在的问题是我在子窗体中加入了button控件,但是运行时点击button却没有效果。

消息处理函数写了吗?消息和函数之间的关联做了吗?

我刚刚又试了一下,我知道问题出在什么地方了。
我在创建窗体的对象时用的是CDialog m_page,这样创建出来的窗体不能相应按键,窗体类为CDLG1,用CDLG1 m_page就没有问题,按键可以正常响应。
但是还是有个问题,用CDialog创建的对象虽然不能相应自己添加的按键,但是OK和Cancel键却管用,这又是什么道理?


因为所有窗口默认的ok和cancel的id一样  所以你这里才能响应ok和cancel...
  相关解决方案