Tag: Microsoft Foundation Class Library
-
Bug in Security Update for Visual C++ Redistributable Package: April 12, 2011 causes program error on Windows 2000
Update:Microsoft’s Visual C++ team has released workarounds on the problem. AVG has released an utility that can revert the KB2467175 update, downloadable at http://twitter.blog.avg.com/2011/04/avg-feedback-update-26411.html Avira is reporting that its AntiVir software throws “The procedure entry point FindActCtxSectionStringW could not be located in the dynamic link library KERNEL32.dll.” error after installing the update released earlier this week. This is caused by…
-
Visual Studio 2010: Class Wizard重返Visual C++… Control Shift X.
在消失4个版本之后,类向导终于重返Visual C++。新的功能:搜索现在可以部分匹配而不是从字符串开始匹配。 测试版还是存在一些问题,向导不是总能找到现存的函数,以致删除函数功能不是总有效。在打开很多文档的时候尝试打开Class Wizard会出现“value does not fall in expected range” 错误。再就是性能问题,打开的文档越多,类向导启动所需的时间就越长。
-
Make the webbrowser control styled the same way as the hosting application
User wtx_sonery wants to know whether it is possible to style the webbrowser control with the rest of the application. The answer is yes, you can implement IDocHostUIHandler’s GetHostInfo method and return DOCHOSTUIFLAG_THEME in the host flags. IDocHostUIHandler is already implemented in MFC and ATL. For MFC there are CHtmlControlSite and CBrowserControlSite but you should…
-
Visual C++ 10 和 MFC 10的新特性
Boris Jabes 和Damien Watkins将会在PDC上演示Visual C++10中的新功能。IDE的新功能包括基于SQL Compact的智能提示、 支持自定义插件的新的项目和编译系统、面向大型应用的优化和改善的调试体验。MFC库增加了对Windows 7 中新增的多点触摸检测功能和高DPI支持,以及Windows Vista中集成的功能,例如高彩图标 、 Windows 搜索和重启管理器。Visual C++程序员们才习惯不用MFC来直接调API。 MFC是很老了,不容易学,也不优雅,但是很稳定,也有很多第三方扩展和示例支持。其他的用户界面库还有很多,但是单单用户界面并不能完成一个程序。在调用操作系统的底层功能的时候,有一个面向对象的接口还是很方便的。
-
MFC Feature Pack发布
Visual C++项目组今天发布了Visual C++ 2008 Feature Pack。这个Feature Pack包含了一些以前需要付费给BCG Soft才可以使用的控件,例如BCG著名的窗口布局和风格自定义功能,不过也有一些有用的控件,例如文件夹列表、文件夹树、属性窗格等等。 这个Feature Pack也包含从Dinkumware获得授权的一些对STL的扩展,实现了TR1草案。这包含新的随机算法、集合类和正则表达式支持。关于TR1的更多信息,可以参考Dinkumware的网站。 安装了这个Feature Pack之后,生成的应用程序在发布时需要同时发布新版本的MFC和CRT组件。预计对这个Feature Pack的技术支持策略会和VC6中从Dinkumware获得授权的STL库会是一个级别,也就是说,BCG Soft、Dinkumware和微软都会提供技术支持。如果在安装了这个Feature Pack之后需要安装Windows SDK 6.1,那么在安装完SDK之后需要修复Visual Studio 2008以保持文件是最新的。 目前发布的这个补丁只支持英文版的Visual Studio 2008 标准版或更高版本,其他语言版的Visual Studio 2008 要获得这些新的功能的话,需要等到Visual Studio 2008 SP1发布。Visual Studio 2008会包含这个Feature Pack。
-
MFC更新Beta版
一个面向Visual C++ 2008的MFC更新测试版已经发布,同时也提供了文档的下载。这个版本包含新的界面的特性,例如Office Ribbon、2003和XP风格,Visual Studio风格和MDI标签。另外,这个版本也包含部分TR1的实现,例如正则表达式、更加丰富的集合和智能指针。 另外,在下载页面居然说这个版本还不支持Visual Studio 2008 Service Pack 1的Beta版,正式版才出来几天SP1的测试版就出来了?
-
Handle NewWindow3 and ShowModalDialog in CHtmlView
CHTMLView does not support NewWindow3 as of MFC 9.0. It is relatively easy to add this support, given the event sink code in atlmfcsrcviewhtml.cpp Add the following into the declaration of the derived CHtmlView class (named CHtmlViewTestView in this example) void NewWindow3( IDispatch **ppDisp, VARIANT_BOOL *Cancel, DWORD dwFlags, BSTR bstrUrlContext, BSTR bstrUrl ); DECLARE_EVENTSINK_MAP()…
-
STL/CLR, Compiler and Marshaling
MSDN第9频道又采访了Visual C++类库组的项目经理Nikola Dudar和Sarita Bafna,以及质量控制组的Marina Polishchuk。尽管Visual C++项目组已经转移了工作重点,但是很少人注意到这一点。或许这些采访可以帮助你了解Visual C++项目组的工作。 为什么C++仍旧重要? 非托管的应用程序有很大的代码积累,而这些程序的升级工作仍旧在进行 性能是选择C++的重要因素。举例来说,游戏和杀毒程序更适合用非托管代码来编写。 多平台支持。虽然.Net号称是跨平台的,但是如果要编写真正的跨平台程序,开发的时候遵循C++标准还是很有必要的。 为什么C++程序员仍旧重要? C++程序员理解整个机器的运作,他们知道怎么写垃圾收集机制,甚至可以写机器代码 C++程序员可以很容易的学会其他语言——C++已经是最难学的语言之一了 C++程序员并不只使用一种语言。如果有必要的话,他们会选择汇编、C#或者Perl这样更适合特定任务的语言。 为什么Visual C++项目组转移了工作重点? C++程序员对于转到C#没有抵触心理,所以Visual C++项目组不认为有必要尽快实现Visual C#支持的所有特性,比如LINQ和WPF设计器 C++程序员对于让他们的非托管程序调用其他语言的托管代码比用C++来写托管代码更有兴趣 核心模块,例如IE和Windows外壳会更加频繁地更新,而会有更多的非托管代码需要调用这些新的特性,为了这些特性,有必要在MFC中引入新的封装类来节省C++程序员的时间 Orcas中Visual C++的新特性: 托管代码互操作库。可扩展的托管数据类型和非托管数据类型的转换支持 STL/CLR。使得托管代码可以利用旧的STL编写的算法 Vista支持。对Vista中新的通用控件和文件对话框等界面元素的MFC封装。 DevExpess重构引擎——将包含DevExpess的Refactor!™ for C++。 Orcas之后的考虑 更新界面。有些Visual C++的代码是针对20年之前的硬件环境设计的,已经不适合现在的需要。新的Phoenix编译引擎使得重写前台变得更加容易。 太多现有的代码需要重构。新的Phoenix编译引擎使得代码分析变得更加容易。 C++标准。新的C++标准TR1可能会在Orcas下一版本开发时成为正式标准。 多核支持。需要编写可以充分利用多CPU的代码。第一个尝试是LINQ。 结论 MFC和非托管代码回来了 性能和多平台支持的重要性越来越低,托管代码仍旧具有很大的市场。 Visual C++项目组的其他动作 ATL Server发布到了源代码共享站点CodePlex。这包含CAtlRegExp,在.Net和第三方类库(boost,TR1)的竞争下已经不再有必要维护一个单独的条件表达式标准了