【问题标题】:How can I implement a MFC resource within a Win32 window?如何在 Win32 窗口中实现 MFC 资源?
【发布时间】:2018-03-21 02:19:44
【问题描述】:

我有两个项目,一个使用 Win32 API 的旧项目,它有一个使用 Win32 图形的旧工具栏,另一个使用具有更好图形的 MFC 代码(我正在创建一个类似于 Microsoft Office 使用的功能区工具栏)。我使用的 MFC 类继承自 CDialogEx 和 CWinApp。

我要做的是将功能区工具栏放在我的 Win32 窗口中并替换旧的。我已经将 MFC 项目用作静态库来引用它,并且可以从我的 Win32 项目中调用这些类,但我还不能显示新的工具栏。

我需要做什么才能实现这一目标?

【问题讨论】:

    标签: c++ winapi mfc


    【解决方案1】:

    使用 MFC 创建框架并将旧代码移动到新框架中可能会容易得多。

    可以在没有 Doc/View 架构的情况下创建 MFC 项目。

    MFC 功能区将并且只能存在于作为 CWinAppEx 一部分的 CMFCFrameWnd 中...仅将功能区代码提取到普通 Win32 应用程序中应该会失败。

    但也有Win32 Ribbon Framework。在旧的 Win32 项目中实现这一点可能会容易得多。

    描述了如何实现这一点here

    在 Codeproject 中你可以找到sample 的使用方法。

    【讨论】:

    • 感谢您的回答!问题是我的 Win32 项目中有 1000 行代码,其中包含一些复杂的 GUI 和 C++ 依赖项,所以我想保持不变。我之前已经尝试过您建议的工具,但我无法完全自定义它(特别是功能区工具栏选项卡,无法添加图标,只能添加文本)。因此,我使用了一种名为 Exontrol 的许可产品,它可以让您做到这一点,并且还可以使用 MFC。我基本上只需要在我现有的 Win32 窗口中放置一个工具栏,所以我想知道是否有办法。
    • 参见 Codeproject 文章。也可以添加图标!
    • 是的,可以在标签组中添加图标。但是除了文本之外,我还需要将图标添加到选项卡本身,这是使用框架无法实现的。
    猜你喜欢
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    相关资源
    最近更新 更多