问题标签 [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 投票
4 回答
6514 浏览

c++ - 将控制栏/窗格停靠到 CMDIFrameWndEx?

在我们的一个应用程序中,我使用了一些 MFC 类来允许停靠侧边栏窗口,大致如下:

这一切都很好。

我现在想在另一个应用程序中做类似的事情。不幸的是,它已被更改为使用 MFC“功能包”中的一些类,这些类非常漂亮,但这种方法不再有效(它断言,我可以通过一些小的修改来修复它,但侧边栏不会出现)。这些新类的文档很糟糕,所以我很难弄清楚我应该做什么。我尝试了似乎是“新”方法:

这在出现一个侧边栏窗口时起作用,但它似乎不可移动并且没有正确绘制。

我觉得我在黑暗中拍摄这一切。有人知道正确的方法是什么吗?

0 投票
2 回答
2814 浏览

c++ - 无法编辑 CListCtrl 中的标签

我正在使用 MFC Feature Pack 构建一个项目。这个项目是否我有一个包含 的窗口CView,其中包含一个CListCtrl衍生对象。该对象包括LVS_EDITLABELS标志。

不知何故,我无法CListCtrl通过两次单击(不是双击)图标标签来编辑图标标签。在我通过单击选择项目后,第二次单击只会使项目闪烁(向下按钮将文本背景变为白色,向上按钮将其变为蓝色)并且编辑控件永远不会出现。

我将这个问题简化为最简单的形式,即使使用普通CListCtrl对象我也无法编辑标签。

我还发现:

  • 这个问题出现在VS2008中。在VS2003内置的类似项目中不会出现这种情况。

  • 如果我构建 aCListView而不是CView+ ,我可以编辑标签CListCtrl

  • 如果我构建一个CFormView并将其CListCtrl放入资源对话框中,我也可以编辑标签。

下面是一些最简单形式的代码:.h 文件:

和 .cpp 文件:

这样我就无法编辑标签。要将其更改为,CListView我只需将其替换CViewCListViewand m_lstTerminaisby GetListCtrl(),并删除OnCreateandOnSize实现。这样它就起作用了。

注意:vwTerminaisTeste是从 -派生类中创建CSplitterWndEx的。CMDIChildWndEx

0 投票
3 回答
6974 浏览

visual-c++ - 如何将功能区菜单添加到现有 MFC 应用程序?

Microsoft Visual C++ 2008 Feature Pack 支持功能区菜单。是否可以在未使用功能区菜单创建的现有 MFC 应用程序中使用它?

0 投票
1 回答
1524 浏览

c++ - 跟踪 MFC 消息处理

尝试升级 MFC 应用程序以使用新的 MFC 功能包时,我们会丢失上下文菜单中的消息。出现菜单并可以单击,但该消息似乎无法在任何地方处理。我们在很多地方覆盖了 OnCmdMsg() 但无济于事,上下文菜单的命令消息未被捕获。

是否有跟踪消息的方法、工具或方法?
任何其他想法如何解决这个问题?

0 投票
3 回答
2708 浏览

c++ - 如何让 CMFCToolBar 识别图像蒙版?

我有一个CMFCToolBar- 派生类,其实例是 -CDockablePane派生类的成员。

我查看了 VisualStudioDemo 示例以了解它是如何完成的,并且到目前为止:

加载了高彩色图像(24 位),但可以看到洋红色蒙版 (R255 G0 B255)。我不知道如何告诉工具栏识别面具。
这甚至可能吗?

0 投票
2 回答
2286 浏览

mfc - 如何从 MFC 标题栏中删除关闭按钮

有没有一种简单的方法可以从 MFC 功能包标题栏中删除关闭按钮?

(我不是说窗口标题,我说的是可以出现在这些应用程序的客户区顶部的小信息栏 - 即:CMFCCaptionBar)

谢谢

0 投票
3 回答
4516 浏览

c++ - 如何动态更改 CMFCRibbonLabel 的文本

CMDIFrameWndEx派生的主框架窗口使用CMFCRibbonStatusBar我添加了一个CMFCRibbonLabel.

我想在运行时更改此标签的文本:

它只更新文本,但不更新绘制它的矩形。因此,如果原始文本太短,新字符串将不会完全可见。

如何让它正确调整大小?

0 投票
2 回答
2214 浏览

c++ - 如何修改 CToolTipCtrl 的工具矩形?

这个问题与这个有关

在 CDockablePane 派生类中,我有一个 CTreeCtrl 成员,我在 OnCreate() 中为其添加了 ToolTip:

我必须使用所有可选参数调用 AddTool(),因为默认值不适用于 CDockablePane。
m_treeRect是 CTor 中的CRect成员集(0, 0, 10000, 10000)。这真的很丑。

m_tree每当的大小发生变化时,我想调整工具的矩形。
所以我尝试了一些东西,CMyPane::OnSize()但都没有奏效:

  • 调用m_pToolTip->GetToolInfo()然后修改CToolInfo的 rect 成员,然后调用SetToolInfo()
  • 打电话m_pToolTip->SetToolRect()

它是如何完成的?

0 投票
3 回答
4282 浏览

c++ - 是否可以将 CMFCToolBar 添加到对话框中?

我刚刚尝试了将 CToolbar 添加到新 CMFCToolBar 上的对话框的标准方法。但它不起作用。在我进入新的实现之前,我想知道它是否真的可能?

0 投票
1 回答
780 浏览

visual-c++ - MFC 功能包 - 可停靠文件资源管理器和可停靠属性窗口

我是 MFC 新手,对“MFC 功能包”的新功能有点困惑。通过向导,我现在有一个看起来像 IDE 的应用程序 - 左侧有一个可停靠的文件资源管理器,右侧有一个可停靠的属性窗口。我已经能够通过 ON_WM_LBUTTONDBLCLK 和 GetItemText() 在文件资源管理器窗口中获取所选项目。

问题:

单击文件资源管理器窗口中的项目后,属性窗口应“更新”。前任。我单击树控件中的一个项目“按钮”,属性窗口应显示“图像”、“字体”和“颜色”,我该怎么做?