问题标签 [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 回答
1032 浏览

mfc - CMFCButton::EnableFullTextTooltip 有什么作用?

我正在尝试CMFCButton工具提示,发现如果我调用EnableFullText()工具提示不会显示。

这是一个小示例:

那么,这个函数有什么作用吗?文档说它“指定是在大工具提示窗口中显示工具提示的全文还是在小工具提示窗口中显示文本的截断版本”,但我唯一看到的是工具提示不显示。我尝试过长字符串和带换行符的字符串,但没有。

任何人都知道这个功能的目的以及如何使用它?

我正在使用 Visual Studio 2008 SP1。

0 投票
0 回答
804 浏览

toolbar - MFC 功能包 - 添加新工具栏后工具栏加载到错误位置

我有一个带有多个工具栏 (CMFCToolbar) 的 MFC 功能包应用程序,它们的位置在会话之间保存。

现在,我添加了一个新工具栏,并将一些按钮从其他工具栏移到了新工具栏。

问题是现在,当我第一次打开我的应用程序时,所有工具栏都出现严重错位(一个在菜单栏上,行太多等)。如果我移动它们并关闭应用程序,则状态将正确保存并在下一个会话中检索。

我已经逐步浏览了代码,发现如果我跳过对条形图的调用,CWinAppEx::LoadState()它们CFrameImpl::OnLoadFrame()位于它们的“初始位置”,即它们将出现在全新安装中的位置。因此,新的工具栏,或者从现有工具栏上删除按钮,会干扰状态的加载。

那么关于如何正确加载状态的任何想法?或者如何防止LoadState()仅在第一次执行时调用?


注意:我认为这个问题可能与我的另一个未回答的问题类似:MFC Feature Pack - How to add Accelerators without Delete user's custom

0 投票
1 回答
744 浏览

c++ - MFC:将焦点设置到子窗口时如何防止应用程序成为前台窗口

我们有一个 MFC MDI 应用程序,在操作过程中可以将焦点设置在给定控件上,例如,如果操作结果更适合不同的选项卡,它可能会更改活动选项卡。

如果在 SetFocus 发生时应用程序具有焦点,这很好,选项卡会更改并且正确的控件具有焦点。但是,如果应用程序没有焦点(即用户在等待操作完成时单击了另一个应用程序),子窗口上的 SetFocus 会导致在父 MDI 框架中发生 OnActivate 并且应用程序成为前台窗口。

如果用户在另一个应用程序中工作,我们如何将焦点设置到子窗口而不使整个应用程序成为前台窗口。

0 投票
2 回答
1268 浏览

mfc - VS2010,MFCEditBrowseControl 堆崩溃

我有一个简单的对话框,其中包含新的 MFC 浏览编辑控件。该控件使用成员变量向导链接到“CMFCEditBrowseCtrl m_edit”。向导生成的映射看起来不错。

在第一次运行时,编辑控件会填充中文字符或问号,然后在第一次按下浏览按钮或选择文件时崩溃。

该应用程序因堆损坏失败而崩溃。

当我创建一个新的测试项目并执行相同的步骤时,一切正常 - 仅当我尝试在具有大约 VS2003 -> VS2005 -> VS2008 -> 升级历史的较大旧项目中实现浏览编辑控件时才会出现问题VS2010。

代码没有什么奇怪的,我怀疑它可能与项目清单或其他一些初始化指令/冲突有关。我已经从测试项目中复制并粘贴了 CWinApp::InitInstance 代码,希望这可能会揭示一些东西,但行为仍然相同。

有任何想法吗?

0 投票
2 回答
389 浏览

c++ - 如何在单击按钮时暂停读取文本文件并在 mfc vc++ 中的单击按钮时恢复它?

如何在单击按钮时暂停读取文本文件并在 mfc vc++ 中的单击按钮时恢复它?

文件打开如下 CFileException fileException;

0 投票
1 回答
1601 浏览

c++ - 调用 LoadFrame() MFC、RIBBON、VS2008、C++ 时断言失败

我正在将 MFC 功能区合并到现有的 SingleDoc 应用程序中。LoadFrame()在类型对象上 调用方法时出现断言失败CMainFrame : public CFrameWndEx

CMainFrame* pFrame = new CMainFrame;

if (!pFrame) return FALSE;

m_pMainWnd = pFrame;

pFrame->LoadFrame(IDR_MAINFRAME, WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, NULL);

断言在函数中抛出

CMFCRibbonCategory* CMFCRibbonBar::AddPrintPreviewCategory()

在行中

CString strLabel; ENSURE(strLabel.LoadString(IDS_AFXBARRES_PRINT_PREVIEW));

调用堆栈(我在这里只提到了函数调用)如下 -

CMFCRibbonBar::AddPrintPrevieCategory()

CMFCRibbonBar::RecalcLayout()

CMFCRibbonBar::LoadState(const char * lpszProfileName=0x06bdf2f8, int nIndex=59398, unsigned int uiID=4294967295)

DockingManager::LoadState(const char * lpszProfileName=0x06bdf2f8, unsigned int uiID=128)

CFrameImpl::LoadDockState(const char * lpszSectionName=0x06bdf2f8)

CFrameImpl::OnLoadFrame()

CFrameWndEx::LoadFrame(unsigned int nIDResource=128, unsigned long dwDefaultStyle=13598720, CWnd * pParentWnd=0x00000000, CCreateContext * pContext=0x00000000)

App::InitInstance() - 在这个函数中我调用 Loadframe

现在,我想知道如何解决这个问题,因为我所做的只是调用 LoadFrame 函数。

任何帮助将不胜感激。谢谢。

0 投票
1 回答
1271 浏览

c++ - MFC RIbbon - 同一面板上的多个 CMFCRibbonComboBox,响应在任何 onComboBox 上执行的 selectitem 操作

我在功能区的同一个面板上有 2 个 CMFCRibbonComboBox - 例如:

问题是,当我从 UI(USer Interface) 的 groupNames 组合框中选择“Group 1”时,甚至从组 individualComputers 中选择了“Computer 1”。如何使每个组合框组相互独立?谢谢。

0 投票
1 回答
1893 浏览

visual-c++ - CMFCColorButton::SetPalette

最近我开始在我的应用程序中使用 CMFCColorButtons 替换旧的自定义控件。现在我想限制可选择的颜色。

因此,我找到了“SetPalette”方法。我在 OnInitDialog 方法中创建了一个如下所示的 CPalette:

之后在代码中,创建 CMFCColorButtons 并设置调色板(此对话框中总共有六个颜色按钮),并在 OnInitDialog 中调用:

行为不符合预期。当我单击该按钮时,调色板是巨大的跨越整个显示器,每个条目只包含一种颜色(如 100 行和 8 列)......

也许您可以帮助解决我的 ColorButton 问题,我在网络上没有找到任何其他帮助。先感谢您!

- 克里斯

0 投票
1 回答
697 浏览

mfc - MFC Feature Pack 应用程序在辅助监视器中恢复为最大化时大小错误

我注意到使用 MFC Feature Pack (VS2008) 开发的应用程序在从最小化恢复到辅助监视器中的最大化时,其大小就像它们在主监视器中一样,为 Windows 任务栏留出空间。

我在我自己的程序中发现了这种行为,而且在 MFC Feature Pack 示例中也发现了这种行为,所以我猜这是 MFC Feature Pack 类中的一些错误。

因此,例如,我构建了 Visual Studio 示例,运行它,将它移动到辅助监视器,在那里最大化它,最小化它,恢复它,我得到了这个:

检查辅助显示器窗口下方的间隙

是否有任何已知的解决方法?更新版本的 MFC 是否已解决?

更新:

似乎只有当辅助监视器位于主监视器的右侧时才会发生这种情况,但如果它位于左侧则不会。

0 投票
1 回答
892 浏览

mfc-feature-pack - MFC MDI 选项卡式应用程序的 CMFCVisualManager 自定义主题

是否有人拥有或可以使用 CMFCVisualManager 为 MFC MDI 选项卡式应用程序自定义主题创建示例?我什至可以付钱。。

谢谢。