求大神,MFC中怎么样在对话框工具栏添加非按钮控件

求大神,MFC中怎么样在对话框工具栏添加非按钮控件,第1张

需要注意,CToolBar类的按钮,根本就不是按钮控件,也不是一个控件!

CToolBar本身,是不支持标准控件插入模式的,要想加入列表框之类的标准控件,只能通过子窗口的方式“画”上去,但这种实现方式实现后控件的显示和响应都有问题,有些问题可以手动处理,有些就很困难了。

一般在工具条上实现控件,推荐使用CDialogBar的办法(高版本VC更灵活和多样,不知道你的版本,以VC6为例),创建MFC工程的时候,选择工具条风格,让工具条具有CReBar类,这样就可以附加多个工具条(你上面代码只能一个,应该是VC6传统工具条模式),创建一个“条状”对话框资源,资源编辑器中放置需要的控件,加入到rebar显示。

资源编辑器里你照样拖,在头文件里包含你的CMyButton.h头文件,用你自己的类定义一个成员变量,并在实现文件中将这个变量和资源中的ID对应起来

以CButtonST为例

在.h中包含CButtonST类头文件,并定义一个成员变量

CButtonST m_btnTest

在.CPP文件中将成员变量和资源中的控件关联

void CXXXDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX)

DDX_Control(pDX, IDC_BTN_TEST, m_btnTest)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8020467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存