草庐IT

mfc-feature-pack

全部标签

c++ - MFC 工具栏图标的颜色深度更高?

我想知道如何在MFC中制作一个使用24位或256色位图而不是可怕的16色位图的工具栏。任何人都可以指出一些简单代码的方向吗?谢谢 最佳答案 发生这种情况的原因是MFCCToolbar类在内部使用了一个图像列表,该列表初始化为仅使用16种颜色。解决方案是创建我们自己的图像列表并告诉工具栏使用它。我知道这适用于256色,但我还没有用更高的位深度测试它:首先,从资源加载256色位图:HBITMAPhBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_

c# - 面向 future 的大型 UI 应用程序 - 具有 2008 功能包的 MFC 或 C# 和 Winforms?

我的公司使用VisualC++中的MFC作为UI开发的事实标准开发了一个长期存在的产品。我们的代码库包含大量必须保持运行的遗留/陈旧代码。其中一些代码比我还早(最初是在70年代后期编写的),我们团队的一些成员仍在使用VisualStudio6。不过,值得庆幸的是,内部得出的结论是,与竞争对手的产品相比,我们的产品看起来有些过时,需要采取一些措施。我目前正在开发UI的一个新区域,该区域与产品的其余部分完全不同。因此,我有机会尝试"new"技术堆栈,作为一种试验场,然后再开始漫长的UI其余部分迁移过程。我在业余时间使用C#与WindowsForms和.netFramework有一段时间并且

c++ - 是否有 C++11/14 替代 __attribute__((packed))

C++11引入了标准化属性语法的概念。我找不到所有受支持属性的列表。是否有C++11属性替代__attribute__((packed))?例如struct__attribute__((packed))Pack{uint8_tfield1;uint8_tfield2;}; 最佳答案 不幸的是,没有。标准当前定义的属性是:[[noreturn]];[[carries_dependency]];[[deprecated]]/[[deprecated(reason)]];其他一切都是实现定义的。

c++ - 如何删除文件 MFC 的只读属性

在我的MFC应用程序中,我对特定文件设置了只读属性。我是通过使用SetFileAttributes()函数完成的。在某些时候,我必须再次删除该文件的该属性。谁能解释一下如何做到这一点? 最佳答案 再次使用SetFileAttributes重置标志:SetFileAttributes(pszFilename,GetFileAttributes(pszFilename)&~FILE_ATTRIBUTE_READONLY);可能值得补充的是,如果函数失败,此方法返回0,您可以使用GetLastError()。

c++ - MFC 应用程序如何自行终止?

MFC应用程序彻底关闭自身的正确方法是什么? 最佳答案 AfxGetMainWnd()->PostMessage(WM_CLOSE); 关于c++-MFC应用程序如何自行终止?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14491/

c++ - 将 MFC 支持添加到 Qt 项目

我有一个Qt项目,想使用一个包含“afxstr.h”的外部库。问题是,每当我在链接到lib并包含它们的header后进行编译时,我都会收到错误消息:#errorafxstr.hcanonlybeusedinMFCprojects.Useatlstr.h当然,我的项目不是MFC项目,我不能使用atlstr.h代替,因为它不是我的库。我正在寻找一个快速的解决方案!我正在使用VS2010。有问题的库是InteractiveBrokersAPI. 最佳答案 相应的设置是ConfigurationProperties/General,Useo

windows - Powershell - 如何使用 Get-WindowsOptionalFeature 命令到 "Turn Windows Features On and Off"

在Windows10中,您可以在控制面板中“打开和关闭Windows功能”;您会看到这样的屏幕:假设我想通过在powershell中使用Enable-WindowsOptionalFeature命令来选择IIS6WMICompatibility。如果我运行:Get-WindowsOptionalFeature“IIS6WMI兼容性”我收到这个错误:Get-WindowsOptionalFeature:Apositionalparametercannotbefoundthatacceptsargument'IIS6WMICompatibility'.Atline:1char:1+Get-

c++ - 无论如何,是否可以通过 PC 重启或用户单击应用程序快捷方式来识别 MFC 应用程序启动?

我有一个MFC应用程序。此应用程序在PC重新启动时运行,显然是用户单击应用程序图标。当用户单击应用程序图标时,应用程序将启动这是正常情况。但是如果应用程序从PC重启运行,我想最小化应用程序系统托盘。系统已经实现,但我不知道如何检测应用程序是由PC启动还是用户点击启动。有什么方法可以检测MFC应用程序中的这些情况吗?我们非常感谢您的每一次帮助。谢谢。///////////////////////////////////////////////////////////////////////////更新:@michael-chourdakis先生您好,非常感谢您的宝贵建议。我正在下面更新我

windows - 如何在不填充的情况下绘制圆角矩形(在 MFC 中)?

MFC/GDI大师们的另一个绘图问题...:-)我正在使用MFC,并且正在使用CDC对象进行绘图。这很好用。但现在我想绘制一个圆角矩形,线条宽度为几个像素。但我不希望发生任何填充!有一种方法CDC::RoundRect-我只是设置了我想要的笔,然后用那支笔得到了一个漂亮的圆角矩形。但是CDC::RoundRect也会用当前画笔填充矩形。有没有办法只画线,不填充?我还没有找到其他方法吗?或者我可以创建某种不会改变矩形中间内容的“空画笔”吗?如果有一些好的建议,我将不胜感激!/来自瑞典的安德斯 最佳答案 在绘制圆角矩形之前选择一个NUL

c++ - 如何在 MFC 应用程序退出时设置错误级别

我有一个我帮助维护的MFC遗留应用程序。我不太确定如何识别MFC的版本,而且我认为这不会有什么不同。应用程序可以在命令行上获取一些参数;我希望能够在退出应用程序时设置错误级别,以允许bat/cmd文件检查故障并做出适当响应。我不相信exit()会起作用(说实话还没有尝试过),因为这是一个MFC应用程序。有人知道如何设置MFC应用程序返回的错误级别吗?我可以只使用exit()吗? 最佳答案 我不能将此归功于此,所以请不要回复此回复。CWinApp::ExitInstance();返回我的退出代码;这会将错误级别返回到调用批处理文件,供