多CMFCToolbar的生成及解决方案

136 篇文章 ¥59.90 ¥99.00
本文介绍了在C++中使用CMFCToolbar时如何避免生成多个相同工具栏并实现多个工具栏间数据同步。通过分配不同ID防止工具栏内容重复,使用静态数据确保所有工具栏显示相同数据并利用WM_IDLEUPDATECMDUI消息更新UI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多CMFCToolbar的生成及解决方案

在使用CMFCToolbar时,我们有时需要为不同的视图窗口生成多个不同的工具栏。但是,在生成多个工具栏时,我们会面临一些问题,例如显示多个相同的工具栏、多个工具栏数据的同步等等。下面,我将为大家介绍如何解决这些问题:

  1. 显示多个相同的工具栏

当我们用“AddToolBar()”函数添加工具栏时,函数会自动创建一个新的工具栏,但是它们可能会有相同的ID。这将导致多个工具栏在程序中显示相同的内容。

解决方案:

在创建每个工具栏时,需要分配不同的ID。可以使用“CMFCToolbar::GetUserImages()”方法获取全局唯一的ID,并将其作为新工具栏的ID。

例如:

// 创建第一个工具栏
m_wndToolBar1.Create(this, AFX_DEFAULT_TOOLBAR_STYLE, IDR_MAINFRAME);
m_wndToolBar1.LoadBitmap(IDR_TOOLBAR_IMAGES);
m_wndToolBar1.SetWindowText(_T(“ToolBar 1”));
m_wndToolBar1.SetBarStyle(m_wndToolBar1.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC |
CBRS_HIDE_INPLACE);</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值