【发布时间】:2015-07-07 20:12:05
【问题描述】:
我负责一个包含大量遗留 MFC 代码的大小适中的 Windows 产品。我没有时间将整个产品转换为 wxWidgets,但一直在使用 wxWidgets 实现新的对话框。我需要更新较大的 MFC 对话框 (CPropertySheet) 的单个选项卡 (CPropertyPage)。为了最终将整个产品转换为 wxWidgets,如果可以的话,我想用 wxWidgets 重新实现这一选项卡。我没有在网上找到任何这样做的人的例子,但它似乎应该是可能的。看起来 CPropertyPage 类可能有一个定义属性页图形大小的 CStatic 框。 CPropertyPage 实现需要实例化和管理一个 wxWidgets 类,该类承载 CStatic 框内的实际用户控件。 CStatic 框内的所有内容都将由 wxWidgets 类实例绘制和管理,包括事件。我认为 wxPanel 将是合适的 wxWidgets 类。外部的一切都将由 CPropertyPage 管理。
有没有人知道为什么这不能工作或非常困难?我不是 wxWidgets 或 MFC 开发方面的专家,所以我不确定。如果没有人告诉我我疯了,我会试着报告我学到的东西。
TIA 供您参考, 艾伦
【问题讨论】:
-
您可能无法将 wxWidgets 与 MFC 对话框集成。虽然我最终不确定这一点。
-
要做到这一点,我需要一个 wxWidgets 窗口类,它可以显示一个无边框的无标题栏窗口。我需要能够防止用户直接拖动或调整 wxWidgets 窗口的大小。 CPropertyPage 类将负责配置 wxWidgets 窗口以显示在正确的位置和正确的大小。当用户拖动或调整 CPropertySheet 窗口的大小时,CPropertyPage 类必须调整 wxWdgets 窗口的位置和大小以匹配。
标签: c++ windows mfc wxwidgets cpropertysheet