问题标签 [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.
visual-c++ - MFC 功能包 - 关闭后无法显示可停靠窗格
通过使用该向导并选择 Office 2007 样式,您可以创建一个看起来像 IDE 的 UI - 左侧是可停靠的文件资源管理器窗格,右侧是可停靠的属性窗格。
但是,当您关闭这些可停靠窗格时,您将无法再次显示它们。即使你重新编译项目。
我搜索了一些论坛,看起来我不是唯一一个遇到这个问题的人。有没有办法再次显示这些窗格?
visual-c++ - MFC 功能包 - 如何更新属性网格控件
我是 MFC 新手,对“MFC 功能包”的新功能有点困惑。通过向导,我现在有一个看起来像 IDE 的应用程序 - 左侧有一个可停靠的文件资源管理器,右侧有一个可停靠的属性窗口。我可以通过 ON_WM_LBUTTONDBLCLK 和 GetItemText() 获取文件资源管理器窗口中的选定项目。
问题: 单击文件资源管理器窗口中的项目后,属性窗口应该“更新”。前任。我单击树控件中的一个项目“按钮”,属性窗口应显示“图像”、“字体”和“颜色”,我该怎么做?如何更新 propertygridCtrl 的内容?
c++ - MFC 功能包 - 如何使用 CMFCPropertyGridProperty::GetValue 获取字体、样式和大小
通过使用 CMFCPropertyGridProperty::GetValue 我能够获取属性网格的内容。
我有一个属性虽然可以获取字体,但当您单击它时,会显示一个对话框来选择字体、大小和样式。
使用此代码:
CMFCPropertyGridProperty* pCurSel = m_wndPropList.GetCurSel();
CString 测试 = pCurSel->GetValue();
我可以在字段中获取字符串,但是如果您将值作为字符串获取,则只能获取字体名称和字体大小 [ 例如。塔霍马(8)]。我想将值作为字符串获取,以便可以将这些值写入 XML 文件。选择字体、大小和样式的对话框必须返回一个 DWORD 类型的值(我想)。但是我如何提取它的返回值,以便从字面上得到选择的内容,如“tahoma”、“10”和“Bold”?
请帮忙...谢谢...
c++ - MFC 功能包错误?基于功能区的 GUI 在休眠(睡眠模式)后不恢复
我强迫了一个可能的漏洞Windows Vista 下 MFC Feature Pack 的功能。它可以很容易地重新创建:
- 使用 MFC 功能包(带有基于功能区的界面)创建一个新的 SDI 应用程序。如果需要,您还可以添加一些浮动面板;
- 不要更改任何内容,只需构建一个 Release;
- 关闭 Visual Studio,运行应用程序并将您的计算机设置为睡眠模式(休眠)。
- 从睡眠模式恢复计算机,您会看到应用程序没有很好地恢复:它没有正确显示窗口的标题;不可能增加窗口大小(它会削减框架)等。
有没有人强迫这种行为?
我正在使用 Windows Vista Business SP2 并在我的台式机和笔记本电脑上获得相同的行为。可惜没有在XP或其他平台下测试。
PS:我已经通过将视觉样式切换到任何其他并返回接收 WM_POWERBROADCAST 解决了基于工具栏的应用程序的上述问题。但该技巧不适用于基于功能区的应用程序。
visual-c++ - 如何删除 Visual C++“扩展菜单”箭头?
在 Visual C++ 中创建带有子菜单的菜单时,我发现子菜单以箭头开头,我必须单击以展开以查看其内容。有没有办法(以编程方式)让子菜单弹出已经展开(没有箭头可以点击)?
这是我正在谈论的图像,在单击上述箭头之前和之后:
也在这里
mfc-feature-pack - 如何将 CFormView 派生类附加到 CMFCTabCrtl?
我已经使用基类 CFormView、功能区、标题栏等创建了 MFC MDI 项目。在 CMainFrame 中,OnCreate() 调用 EnableMDITabbedGroups(),它会自动添加一个选项卡并附加 CMyProjectView 视图。现在我想添加第二个选项卡并将第二个视图附加到该选项卡。我创建了新对话框并向其中添加了 CFormView 派生类。
这是代码:
现在,我很确定我错过了一些微不足道的事情或一起走错了方向,但我无法获得新的视图来显示。此外,我无法在 CMainFrame 中捕获 AFX_WM_CHANGE_ACTIVE_TAB 或 AFX_WM_CHANGING_ACTIVE_TAB。消息从 CMFCBaseTabCtrl::FireChangingActiveTab 发送,但没有任何反应。
refresh - 添加/更新项目后如何刷新 CMFCRibbonBar
添加功能区项目或调用更新项目的方法后,功能区无法正确刷新。有时调整窗口大小后就可以了,但大多数时候面板处于折叠状态。
我尝试了所有我能想到的功能,ReposPanels、RecalcWidths、RecalcLayout 等,但没有任何效果......
c++ - 如何从 CMFCPropertyFontProperty 获取字体大小
我正在使用此代码块从 CMFCPropertyFontProperty 控件的字体对话框中获取用户选择的字体名称、样式和大小。我已经能够获得名称和样式,但大小似乎返回了不同的值。
我意识到有一个公式:
但我似乎无法让它工作......我如何从 CMFCPropertyFontProperty 获得 hDC?请帮忙...
c++ - 为什么 CMFCMenuBar 不使用加速器表?
在使用 VS2008 的 doc/view 项目中,MFCMenuBar似乎从项目中加载了正确的 MENU 资源 (IDR_MAINFRAME),因为添加和删除菜单项反映在菜单的 UI 中。它甚至将加速器附加到默认菜单项(例如 Ctrl+O 到 Open... 项)。但是,加速器表 (IDR_MAINFRAME) 似乎没有连接到菜单。将 Open... 的默认 Ctrl+O 更改为 Ctrl+7 之类的内容不起作用。Ctrl+O 仍然附加到 Open... 菜单项,并且 Ctrl+O 仍然调用 Open... 处理程序。资源文件中只有一个加速器表,所以我不知道 CMFCMenuBar 从哪里获取它的加速器信息。
此时,我已经能够通过手动加载 IDR_MAINFRAME 加速器表并自己翻译消息来使加速器工作。但 CMFCMenuBar 仍在附加默认加速器。
谁能解释这里发生了什么?如何强制 MFCMenuBar 使用我的加速器表并且不附加加速器或附加正确的加速器?