Library
文章平均质量分 75
蒋晟
微软最有价值专家 VC/MFC和.Net大版主
展开
-
使用单独的命令处理类来处理命令消息(适用于有很多命令处理函数的对象,以及共享命令处理函数)
应用程序的主窗口通常要处理许多命令消息。这会使文件变得很大,不容易查找。为明确起见,可以将对象对命令消息的处理抽象出来,做成一个(这里是一个,但是可以按用途分成多个)类。这种方法适用于有很多命令处理函数的对象,以及共享命令处理函数。BOOL CWorkBenchDlg::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERIN原创 2001-08-02 22:08:00 · 1669 阅读 · 0 评论 -
Visual Studio 2005中MFC的变化
关于新功能的说明http://msdn2.microsoft.com/library/y8bt6w34(en-us,vs.80).aspx一些源代码的变化:对CLR、.Net类库和Winform控件的支持。多处安全性的增强,对于函数参数和消息影射类型的检查加强。对ISAPI的支持看起来改动很大。对基于64位处理器的软件开发的支持。一些过时功能,例如MFC的DAO类,的使用受到限制。对于64位开发环原创 2005-07-05 08:35:00 · 3641 阅读 · 3 评论 -
十年MFC经历认识的Microsoft技术[转]
在CSDN看见一个老程序员的感想,虽然是关于MFC的讨论,但是对其他语言的开发者也有借鉴之处。转自CSDN技术社区(http://community.csdn.net),更多内容可以在http://community.csdn.net/expert/Topicview1.asp?id=3834281 找到。作 者:sunhui (MFC.NET) 一、初识MFC 我最初知道MFC大概是在1原创 2005-03-11 04:08:00 · 4687 阅读 · 3 评论 -
《转换指南: 将程序从托管扩展C++迁移到C++/CLI》译后记
终于把Stan Lippman先生的这篇文章译完了。从去年4月在全球MVP峰会上拿到这篇文章的手稿到现在,差不多一年过去了。虽然当时的Visual Studio 2005还不支持一些语法,但是我和董颖涛对新的C++/CLI语言都很感兴趣,在当时就讨论过翻译的问题。之后我就开始翻译这篇文章,但是进度一直很慢——主要是杂务太多、语言上的困难(尽量避免误解和词不达意的情况,以及斟酌用词的选择)。在1月份原创 2005-03-17 07:28:00 · 2927 阅读 · 1 评论 -
示例:在MFC程序中集成.Net中的控件
从.Net Framework 1.1开始,.Net控件可以以ActiveX的方式被集成到非托管宿主中——但是官方的支持只对于使用托管C++的MFC程序。Chris Sells在2003年3月份的MSDN杂志中描述了这样一个示例(http://msdn.microsoft.com/msdnmag/issues/03/03/WindowsForms/default.aspx)。这个示例使用的代码稍微原创 2005-03-19 05:13:00 · 5024 阅读 · 1 评论 -
MFC,欢乐与痛苦
MFC提供了许多十分有用的类和对象,在很多时候在Office插件、BHO、常规DLL这样的工程中加入MFC支持是一个不错的选择。但是,MFC中的很多功能,例如资源查找,消息预处理等等都依赖于在进程或者线程创建时被初始化的MFC内部数据;而对于需要添加MFC支持的工程,这些数据并不会被自动地初始化。这时候使用一些MFC的功能,例如使用CString从字符串表加载一个字符串,或者使用CDialog:原创 2005-08-20 13:16:00 · 4560 阅读 · 0 评论 -
VC的自动化向导的BUG
VC6BUG: ClassWizard Omits Methods with BYTE or BYTE* As Parameters (http://support.microsoft.com/kb/q241862/)BUG: VTS_UI1 and VTS_PUI1 are Defined Incorrectly in AfxDisp.h (http://support.microsoft.co原创 2005-04-19 13:32:00 · 2991 阅读 · 2 评论 -
Win32 & .Net Q&A 200509
CSDN 讨论总结系列:Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/56327原创 2005-09-13 22:06:00 · 29506 阅读 · 4 评论 -
FAQ:如何在……中获得……的指针(MFC)
问:请问如何在一个全局函数中,获得它视图类,文档类得指针啊?问:如何在一个对话框中,获得它视图类,文档类得指针啊?答:虽然你可以使用AfxGetMainWnd或者AfxGetApp之类的函数来访问全局变量,但是不建议这么做。你应该尽量少使用全局函数和变量以增加代码的可移植性。你可以在对象中声明变量来保存和传递需要使用的对象和指针,调用函数或者创建对象时传递指针。举例来说,如果视图的成员函数原创 2005-11-14 10:26:00 · 3004 阅读 · 0 评论 -
Jiangsheng的CSDN Digest (Dec 2005)
CSDN 讨论总结系列:Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/56327原创 2005-12-24 20:24:00 · 59284 阅读 · 4 评论 -
Jiangsheng的CSDN Digest (Oct 2005)
CSDN 讨论总结系列:Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/56327原创 2005-12-27 00:16:00 · 18467 阅读 · 1 评论 -
Jiangsheng的CSDN Digest (Jan 1 2006)
CSDN 讨论总结系列:Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/56327原创 2006-01-01 15:58:00 · 8600 阅读 · 0 评论 -
Jiangsheng的CSDN Digest (Jan 7 2006)
CSDN 讨论总结系列:Jiangsheng的CSDN Digest (Jan 1 2006)http://blog.csdn.net/jiangsheng/archive/2006/01/01/568362.aspxdocument.title="Jiangsheng的CSDN Digest (Jan 1 2006) - "+document.title Jiangsheng的CSDN原创 2006-01-07 14:20:00 · 8185 阅读 · 0 评论 -
Jiangsheng的CSDN Digest(April 3, 2006)
为了便于搜索,这里尽可能保留了论坛上讨论的原文,但是这并不表示本人赞同帖子中的表述方式和观点。CSDN 讨论总结系列: Jiangsheng的CSDN Digest(March 4, 2006) (http://blog.csdn.net/jiangsheng/archive/2006/03/05/615714.aspx) Jiangsheng的CSDN Digest原创 2006-04-03 13:45:00 · 14210 阅读 · 10 评论 -
Jiangsheng的CSDN Digest (Jan 21 2006)
CSDN 讨论总结系列: Jiangsheng的CSDN Digest (Jan 7 2006)(http://blog.csdn.net/jiangsheng/archive/2006/01/07/573288.aspx) Jiangsheng的CSDN Digest (Jan 1 2006)http://blog.csdn.net/jiangsheng/arch原创 2006-03-05 05:00:00 · 10713 阅读 · 2 评论 -
Jiangsheng的CSDN Digest(March 4, 2006)
为了便于搜索,这里尽可能保留了论坛上讨论的原文,但是这并不表示本人赞同帖子中的表述方式和观点。CSDN 讨论总结系列: Jiangsheng的CSDN Digest (Jan 21 2006)( http://blog.csdn.net/jiangsheng/archive/2006/03/05/615669.aspx) Jiangsheng的CSDN Digest原创 2006-03-05 09:25:00 · 44243 阅读 · 5 评论 -
Win32 to .NET API Map
.Net类库提供了Windows API的封装。下面的文章描述了实现类似Win32函数功能的.Net架构1.0和1.1API。Microsoft Win32 to Microsoft .NET Framework API Map只有一小部分的Win32函数在.Net中有对应,但是会越来越多。部分新的API不会提供Win32函数版本。其中已知的有Avalon的高层函数。建议从Win32转移到.Net原创 2005-03-05 06:25:00 · 2219 阅读 · 0 评论 -
Win32 & .Net Q&A
CSDN 讨论总结系列:Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/56327原创 2005-02-28 08:00:00 · 12207 阅读 · 1 评论 -
Good Bye SOAP ToolKit , Hello Webservice
作为Webservice的底层,SOAP在非托管代码调用Webservice的时期做出了很大的贡献,但是随着微软在.Net这条路上越走越远。SOAP ToolKit的开发也停止了。由于对SOAP ToolKit 的技术支持即将到期,所以我猜测最近发布的SOAP ToolKit 3.0 (http://www.microsoft.com/downloads/details.aspx?FamilyID原创 2005-02-06 19:34:00 · 2378 阅读 · 1 评论 -
在对话框中使用ON_UPDATE_COMMAND_UI更新菜单
本文翻译自http://support.microsoft.com/kb/242577问题: 更新处理函数在对话框的菜单中不能工作ID: Q242577 此文章的信息应用于:Microsoft Visual C++, 32位版本, version 6.0, 使用: The Microsoft Foundation Classes (MFC)原创 2001-08-06 14:17:00 · 6007 阅读 · 0 评论 -
如何: 通过HTML文档对象模型访问文档中的ActiveX控件的属性
如何: 通过HTML文档对象模型访问文档中的ActiveX控件的属性此文章的信息应用于:Microsoft Internet Explorer (编程) 版本4.0, 4.01, 4.01 SP1, 4.01 SP2, 5, 5.01, 5.5,6.0概要CSDN文档中心文章 用 MSHTML 的一点经验 111222(原作)原创 2002-08-19 09:12:00 · 6890 阅读 · 3 评论 -
摆脱在每个命令消息处理函数中的TRY和CATCH
每个命令处理都可能导致异常,抛出异常通常导致终止当前命令处理。在每个命令处理过程中编写异常处理代码是一个十分繁琐的工作,由于命令是CCmdTarget::OnCmdMsg中处理的,所以可以这个函数中处理所有命令处理过程产生的异常而不用分别编写异常处理函数。CCccXCommandHandler是一个基于CCmdTarget的类。此示例可推广到所有CCmdTarget的派生类。BOOL CC原创 2001-08-02 22:00:00 · 1855 阅读 · 0 评论 -
在基于对话框的应用中执行空闲状态处理(比如用ON_UPDATE_COMMAND_UI更新控件)
June 1995,Microsoft System Journal Paul DiLascia 是一个自由软件顾问,专长是训练和软件开发(C++ and Windows).他是Windows ++: Writing Reusable Code in C++ (Addison-Wesley, 1992)的作者.问:我的问题是OnIdle在通常的文档/视图程序中可以工作,但是原创 2001-08-06 20:56:00 · 3197 阅读 · 0 评论 -
使用IPicture的OLE实现读取和显示BMP,GIF,JPG,ICO,EMF,WMF图像
作者的话:GDI+看起来是更好的解决方案,但是IPicture的OLE实现更简单。问题的起源很久以来,我都被一个问题困扰。关于程序中显示图像的问题,我在网络上搜索了很长时间,找到了无数的解决方案,比如分析文件格式,直接读取文件的;用控件的(柯达的ImgEdit控件);以及不知道内部实现方法的库(ImageLoad)。而我找到的方法大都不容易使用,特别是那些直接按位读取图像的。很多时候我不得原创 2002-03-18 09:16:00 · 4457 阅读 · 2 评论 -
在应用程序中集成自动完成功能
在应用程序中集成自动完成功能本文的很多内容翻译自使用自动完成这篇文章。介绍自动完成功能,就是用户在输入时,程序自动提示匹配用户输入的条目,并且/或者自动输入剩余部分,自从IE提供了表单和地址栏的自动完成功能之后,很多程序在用户界面中集成了这个功能。在适当使用时,它可以大大减少用户输入的时间。尽管这个功能如此有用,但是在平台开发工具包中甚至连一个示例都找不到。Paul DiLas原创 2003-09-10 10:56:00 · 4071 阅读 · 0 评论 -
结合ADO、ADOX和MFC的文档/视图/框架架构创建和打开Access数据库
本文描述了如何在MFC的文档/视图/框架架构中使用ADO和ADOX来创建和打开数据库。预备阅读在阅读本文之前,建议先对COM,数据库和MFC的文档/视图/框架有一个基本的了解。推荐阅读下列文章MFC技术文章TN025: Document, View, and Frame Creation微软知识库文章 Q183606 ActiveX Data Objects (AD原创 2004-03-15 09:16:00 · 6886 阅读 · 3 评论 -
分析MFC中的映射
分析MFC中的映射条件查找映射MFC中大量使用了BEGIN_XXX_MAP这样的宏,以及映射进行查找优化,例如消息映射,OLE命令映射,以及接口等等。每个映射包含一个指向基类的映射的指针。这样,当一个类需要根据一定的条件查找一个对象时,它会查找本类对象,如果没有找到,那么会查找基类,直到根基类。这类查找包含Windows消息,命令,事件和OLE命令的分发,和对象实现的接口的查询等等原创 2004-01-05 16:28:00 · 4637 阅读 · 0 评论 -
DLL/OCX中的MFC对话框不能处理Tab和回车键的问题
原文发表在[http://community.csdn.net/expert/Topicview2.asp?id=3072485] 带子窗口的ActiveX控件问题,如何获取回车键? 问题: 新建一个MFC ActiveX工程,添加一对话框资源,上面有一些标准控件,如按钮、编辑框等,并生成一个类CCtrlPanel。在CXXXXCtrl类中:int CXXXXCtrl::OnCreate(LPC原创 2004-07-11 20:49:00 · 11433 阅读 · 1 评论 -
VC/MFC Q&A 200407
CSDN 讨论总结系列:Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/56327原创 2004-07-13 21:06:00 · 20383 阅读 · 5 评论 -
在应用程序中集成浏览器控件(Update)(Subjet to change without notice)
在应用程序中集成浏览器控件 概述 什么是浏览器控件 浏览器控件是一个提供浏览器绝大部分功能的ActiveX控件,随Microsoft? Internet Explorer 4.0(IE)或者更高版本发行。实际上,IE可以认为是一个集成浏览器控件的程序。 为什么要使用浏览器控件 怎么给用户提供丰富的内容一直是程序员们努力的目标。尽管各种各样的界面库可能使你眼花缭乱,但是这些也是美工和程序员的恶梦—原创 2004-07-06 18:54:00 · 11611 阅读 · 1 评论 -
偶的CSDN收藏夹(大部分都是古董……)
无界面的HTML分析器·分析网页中的表格/ http://community.csdn.net/Expert/topicview.asp?id=351580 如何载入非标准大小的图标并显示/ http://community.csdn.net/Expert/topicview.asp?id=638695在基于浏览器控件的程序中,当鼠标停留在一个超链上时,怎样得到该链指向的地址/ http://co原创 2004-11-17 10:09:00 · 5796 阅读 · 0 评论 -
Good Bye MFC?
原文地址在https://channel9.msdn.com/ShowPost.aspx?PostID=31152起源是VC开发组的一个人的言论“MFC仅仅用于支持旧的代码,新的代码不应该用MFC编写,而是应该用C#或者Managed C++”Blkbam的观点:还早得很作者的观点:我在WFC 上的教训够深刻的了,我的时间被浪费了Simo的观点:MFC会和NT内核以及COM机制一起坚持到底。Box原创 2004-12-12 16:05:00 · 1838 阅读 · 0 评论 -
何时一个类的指针可以强制转化为另外一个类的指针,即使它们之间没有派生关系?
问:我看到CListView的成员函数GetListCtrl直接把CListView本身的指针转换为CListCtrl指针。我想知道在什么情况下可以安全地把一个类的指针转化为另一个类的指针?答:只要你访问的数据的内存表示是完全相同的,那么这种转化就是安全的。考虑MFC从CWnd到CEdit的派生过程,是一个纯粹的封装——既没有增加数据成员也没有增加虚函数(隐含的虚函数表的指针实际上是类的一个成员,原创 2005-01-24 09:35:00 · 4406 阅读 · 2 评论 -
IStream接口和CString之间的转换
问:如何传递CString中包含的字符串到具有IStream类型参数的函数?问:如何根据获得的IStream接口指针获得字符串?答:MFC7中的未归档类CStreamOnCString实现了IStream接口访问封装的CString类型的m_strStream成员。如果你没有MFC7,可以用CreateStreamOnGlobal创建IStream的内存流实现对象,之后调用IStream::Wri原创 2005-01-24 10:09:00 · 5990 阅读 · 1 评论 -
DirectUI和无窗口用户界面
DirectUI/DirectUser是一个用户界面框架(http://msdn.microsoft.com/en-us/library/system.windows.automation.automationelement.automationelementinformation.frameworkid.aspx)。用Spy++可以在MSN Messenger、Windows XP、Office原创 2010-03-22 14:08:00 · 30390 阅读 · 14 评论