标签: cmfcmenubutton

切换高对比度模式时CMFCMenuButton无法正确重新绘制

在我正在CMFCMenuButton使用MSVC 2013 的C++ MFC项目中.

当我切换高对比度模式时,按钮没有正确重新绘制(为了比较,显示正常按钮):

在切换高对比度模式后重新打印CMFCMenuButton

调用Invalidate()ShowWindow(SW_HIDE);ShowWindow(SW_SHOW);似乎没有效果 - 即使最小化对话框也不会导致正确的重绘.如何强制按钮重新绘制更新的系统颜色?

更新:切换对比度模式后强制颜色只会使按钮文本可见,但按钮本身(边框)不可见.

m_ctrlOkButton.SetFaceColor(::GetSysColor(COLOR_BTNFACE));
m_ctrlOkButton.SetTextColor(::GetSysColor(COLOR_BTNTEXT));
Run Code Online (Sandbox Code Playgroud)

c++ mfc accessibility high-contrast cmfcmenubutton

5
推荐指数
1
解决办法
146
查看次数

为什么没有为CMFCMenuButton绘制下拉箭头?

尝试将CMFCMenuButton添加到现有MFC应用程序时遇到了此问题。它工作正常,甚至调整了按钮的大小以适应下拉箭头。但是它没有绘制下拉箭头,当我将鼠标悬停在按钮上时,我看到了以下调试输出:

> Can't load bitmap: 42b8.GetLastError() = 716
> CMenuImages. Can't load menu images 3f01
Run Code Online (Sandbox Code Playgroud)

事实证明,即使使用Visual Studio 2010 RTM,在创建基于MFC对话框的全新应用程序时,CMFCMenuButton也不绘制箭头,并显示相同的错误。最初,我以为我没有正确安装或注册任何东西。但是,MFC Feature Pack中的NewControls示例完美显示了下拉箭头。

缺什么?

c++ mfc widget cmfcmenubutton

4
推荐指数
1
解决办法
2286
查看次数

CMFCMenuButton的示例代码?

很抱歉新手问题,但是有人能指出示例代码,说明CMFCMenuButton的使用吗?Microsoft帮助引用"新控件示例",但这些示例似乎是在Visual Studio 2008"功能包"中,并且由于我运行VS 2013并且没有VS 2008,因此拒绝在我的系统上安装.我无法将样本作为独立代码找到.具体来说,我有一个对话栏,我想要一个标有"保存"的按钮,其中包含"全部保存"和"保存可见"的下拉选项(默认情况下保存全部).但任何工作代码至少会让我开始.

c++ mfc cmfcmenubutton

3
推荐指数
1
解决办法
1504
查看次数

标签 统计

c++ ×3

cmfcmenubutton ×3

mfc ×3

accessibility ×1

high-contrast ×1

widget ×1