问题标签 [mfc-feature-pack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1765 浏览

c++ - CMFCPropertyGridProperty 数字输入

我正在使用 MFC 功能包,并且有一个可停靠的属性窗口。如何限制用户在值字段中仅输入数字以外的任何其他字符?

谢谢...

0 投票
4 回答
6953 浏览

c++ - 如何关闭动态创建的 CDockablePane 窗口?

在我的 MFC(功能包)应用程序中,可以动态创建停靠窗格以显示图表/表格等。
但是,我不想让用户两次打开相同的东西。

我创建一个像这样的窗格:

这似乎工作正常。

这就是我尝试检查窗格是否已存在的方式。窗格由其类型(类)和参数标识。

问题在于,当我关闭窗格时,无法识别。CDockingManager 对象仍返回 GetPanes() 调用中的窗格。

如何告诉经理不要返回已关闭的窗格?
或者
当窗格关闭时,如何从窗格列表中删除窗格?


更新

我更深入地研究并发现,当单击标题栏中的“x”按钮时,CWnd 对象实际上并未关闭,而只是它们的容器。
所以真正的问题似乎是真正关闭窗格。
我还更改了问题以更好地反映问题。

0 投票
1 回答
4464 浏览

c++ - Vista风格的CMFCButton

我似乎无法在对话框应用程序中以 Vista 样式显示 CMFCButton。我正在使用带有 MFC 功能包的 VS2008。

以下是重现我的问题的一些步骤:

  • 创建一个新的MFC项目;
  • 指定一个基于对话框的项目。
  • 在主对话框中添加两个按钮。
  • 为每个按钮添加一个变量。将其中一个变量设为 CButton,将另一个设为 CMFCButton。
  • 编译并运行。

测试应用图片 http://img7.imageshack.us/img7/3/testapp.png

如您所见,CButton 具有正确的样式,但 CMFCButton 没有。

我在这里缺少什么?

0 投票
2 回答
1545 浏览

mfc - MFC 向导外观

我有一个使用 vS2008 创建的基于 MFC 向导的应用程序(CPropertySheet、CPropertyPage)。我试图让我的应用程序几乎完成一个更现代的外观。我查看了 CDHTMLDIalog,但它看起来需要做很多工作,而且文档也不是很好。接下来我想我可以使用 Feature Pack 的一些功能。我找到了有关此链接文本的线程,但已将线程中提到的代码添加到我的应用程序的各个位置,但外观从未改变。

CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_Silver); CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007)); CDockingManager::SetDockingMode(DT_SMART); RedrawWindow(NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME | RDW_ERASE);

还将 CPropertySheet 替换为 CMFCPropertySheet 和 CPropertyPage 替换为 CMFCPropertyPage

谢谢...

0 投票
1 回答
733 浏览

mfc - MFC 功能包是否会支持 Scenic Ribbon?

我的团队花了很长时间使用 VS2008 MFC 功能包中包含的功能区开发一个漂亮的 UI。

现在 Windows 7 已经发布,功能区的外观和感觉已经改变,我的应用程序看起来已经过时了,甚至还没有发布:/

我想要 Windows 7 功能区(“风景区”)的外观和感觉,理想情况下不做任何更改 - 有谁知道功能包是否会有更新来解决这个问题?

我不能转而使用 Windows 7 SDK 功能区,因为我需要支持 XP,而 7 SDK 只支持 7 和 Vista。

我能想到的唯一选择是使用 3rd 方库,例如BCGControlBar ProProf-UIS Elegant Ribbon,我不介意为这两个库付费,但问题在于返工量(大概是 BCG 一个将是最容易迁移到的,因为 MFC 功能包功能区基于该功能区)。

0 投票
1 回答
389 浏览

mfc-feature-pack - 如何在 MFC 功能包中扩展 CMFCRibbonPanel

我想扩展 CMFCRibbonPanel - 但构造函数受到保护(我收到以下错误:无法访问在类“CMFCRibbonPanel”中声明的受保护成员)。获取 CMFCRibbonPanel 实例的唯一方法是调用“category->AddPanel”,但这样我无法扩展 CMFCRibbonPanel 类。

有什么建议么?

0 投票
1 回答
611 浏览

mfc - 帮助查找 CMFCMenuBar 上的工具提示问题

我有一个使用功能包中发布的新 UI 功能的 MFC 应用程序,但我在菜单栏上的工具提示方面遇到了问题。

默认情况下,我相信菜单项上没有启用工具提示。然而,每当我将鼠标悬停在任何菜单列表中的第二个项目上时,我都会在弹出窗口中看到一个带有“无标题”的工具提示。唯一不会发生这种情况的是第二项是分隔符时。这只发生在第二个项目上,而不是列表中的任何其他项目。同样奇怪的是,当悬停在“编辑”顶级菜单项上时会出现一个工具提示弹出窗口。

因此,为了说明,顶级菜单:

文件编辑查看帮助(将鼠标悬停在“编辑”上会显示工具提示)

说明文件菜单

文件 新建 打开 另存 另存为

(将鼠标悬停在“打开”上会显示工具提示)

同样的行为发生在每个菜单部分的第二个项目上。其他菜单项均不显示工具提示。

非常感谢任何关于我如何能够确定这个问题的帮助。

0 投票
2 回答
5483 浏览

user-interface - 如何将 CPaneDialog 停靠到 MainFrm 和..?

我对 CPaneDialog 有疑问。我使用 SetPaneSize MFC 功能包示例项目进行了测试。奇怪的是 CPaneDialog 不能停靠到 MainFrm 而 CDockablePane 可以。CPaneDialog 也是 CDockablePane 的子类,但它不能。只有 DockToWindow( &other_CPaneDialog_instance... ) 是可能的。如果我调用 DockToPane(),则 CPaneDialog 的内容不会正确绘制或刷新。

如何将 CPaneDialog 停靠到 MainFrm 窗口?

另一个问题是关于绘图。如果在 SetPaneSize 示例中删除树控件的代码,则 view1 的内容(CDockablePane 的实例)不会正确重绘。在做了一些实验之后,我决定应该在它的 OnSize 和 OnPaint 方法中做一些事情。(OnSize 更为关键。)这是预期的行为吗?

0 投票
1 回答
4420 浏览

c++ - CMFCToolbar 布局在会话之间未正确恢复

我遇到了 CMFCToolbar 类的问题,其中工具栏的位置在会话之间没有正确恢复。

这是关闭应用程序之前工具栏排列方式的屏幕截图:

替代文字
(来源:achavis.net

这是再次启动应用程序时如何恢复工具栏的屏幕截图:

替代文字
(来源:achavis.net

请注意出现在第一个工具栏上方的大间隙,第二个工具栏现在位于主工具栏的右侧,而不是在其下方。

我的应用程序出现问题,所以我使用应用程序向导生成了这个测试应用程序,然后我手动添加了第二个工具栏。

我想知道这是否是因为我做错了什么,或者仅仅是由于功能包代码的错误性质。

这是我的 CMainFrame 类中设置工具栏的代码:

0 投票
1 回答
872 浏览

mfc - 如何在 MFC 的按钮中添加图像和文本?

我很难在按钮中添加图像和文本..我知道这可以通过启用具有位图按钮类的所有者绘制功能来完成..但我不想那样..我还有其他方法吗可以在不绘制文本的情况下添加图像和文本吗?