【问题标题】:Programmatically and completely delete button from MFC toolbar以编程方式从 MFC 工具栏中完全删除按钮
【发布时间】:2013-10-31 09:02:04
【问题描述】:

我在 MFC C++ 应用程序中有一个文档。我需要从代码(不是资源)中的特定CMFCToolbar 中完全删除一个按钮,甚至阻止用户通过工具栏自定义对话框恢复按钮。目前我使用CMFCToolbarRemoveButton 方法,但它只会使按钮不可见,并且可以通过工具栏自定义对话框恢复,这对我来说不是一个选项。如果您提出一些可以帮助我的建议,我将非常高兴。

【问题讨论】:

    标签: c++ mfc toolbar


    【解决方案1】:

    CMFCToolBar 中有两个内部列表,用于在自定义时重置按钮。 它们被命名为 m_OrigButtonsm_OrigResetButtons

    您可能需要派生自己的类并从那里删除具有特定 ID 的按钮。

    但更好的是:永远不要在第一次创建工具栏时包含这样的按钮!

    【讨论】:

    • 等等,等等。你是什​​么意思:“永远不要在第一次创建工具栏时包含这样的按钮!”。你的意思是我应该从资源文件中排除它并在代码中创建它。无论如何,感谢您的回答,我会先尝试这些列表。
    • 是的!您不必使用资源来创建工具栏。工具栏资源只是一个与位图一起使用的整数数组。编写您自己的可能排除某些按钮的“SetButtons”例程并不难。我们也这样做,因为许可证限制,一些用户永远不会看到特定的按钮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 2017-10-28
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多