可以在设计时将按钮添加到 ToolbarWindow32 控件吗?

问题描述 投票:0回答:1

我可以使用 VS2022 对话框的资源编辑器向工具栏添加按钮吗?

工具栏在 .rc 文件中定义为:

CONTROL         "Custom1",IDC_CUSTOM1,"ToolbarWindow32",WS_TABSTOP,7,7,315,21

我只找到了如何在运行时添加按钮的示例,而不是设计时。

visual-studio winapi dialog
1个回答
0
投票

我可以使用 VS2022 对话框的资源编辑器向工具栏添加按钮吗?

有点像,但不是真的。

系统不提供在资源脚本中声明 toolbar 按钮的方法,这些按钮会作为对话框创建的一部分自动添加到工具栏。按钮始终必须在运行时手动添加。

如果您正在编写标准 Win32 桌面应用程序,那么故事到此结束。


接下来是“有点”部分。鉴于上述情况属实,Visual Studio 确实提供了工具栏编辑器,这可能会让人感到惊讶。在所有标准资源编辑器中,这是一个奇怪的编辑器。提示很微妙,在文档的最底部写着:

要求

MFC 或 ATL

编辑器运行于由 Microsoft 基础类 (MFC)

 引入和使用的自定义私有资源类型 (
RT_TOOLBAR)。基本思想是让图形资源编辑器转储框架在运行时拾取的
RT_TOOLBAR
(二进制)资源,解析回结构化数据,并用于构造按钮。

按钮 still 必须在运行时手动添加。唯一的区别是其他人(MFC)已经编写了执行此操作的代码,因此我们不必这样做。


理论上,一个人“可以”在不使用 MFC 的标准 Win32 桌面应用程序中重用该机制的一部分。 RT_TOOLBAR资源背后的二进制数据并不是很复杂,MFC源代码(例如

bartool.cpp
)足以推断其含义。 仍然存在一些影响和限制,并且没有官方(合同)文档可供依赖,所以最好不要这样做。

© www.soinside.com 2019 - 2024. All rights reserved.