
VC++ MFC
文章平均质量分 77
落花生雪
编程架构 专注新技术 忠于研发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
控制台程序在C#下调用;关于MFC的初始化
打开afxwin1.inl 发现 assert(afxCurrentInstanceHandle != NULL)出错转载 2023-05-16 15:18:14 · 312 阅读 · 0 评论 -
MFC六大核心机制之三:动态创建
MFC中很多地方都使用了动态创建技术。动态创建就是在程序运行时创建指定类的对象。例如MFC的单文档程序中,文档模板类的对象就动态创建了框架窗口对象、文档对象和视图对象。动态创建技术对于希望了解MFC底层运行机制的朋友来说,非常有必要弄清楚。不需要手动实例化对象的疑惑MFC编程入门时,一般人都会有这样的疑惑:MFC中几个主要的类不需要我们设计也就罢了,为什么连实例化对象都不用我们来做转载 2014-12-08 12:34:21 · 611 阅读 · 0 评论 -
MFC六大核心机制之四:永久保存(串行化)
永久保存(串行化)是MFC的重要内容,可以用一句简明直白的话来形容其重要性:弄懂它以后,你就越来越像个程序员了!如果我们的程序不需要永久保存,那几乎可以肯定是一个小玩儿。那怕我们的记事本、画图等小程序,也需要保存才有真正的意义。对于MFC的很多地方我不甚满意,总觉得它喜欢拿一组低能而神秘的宏来故弄玄虚,但对于它的连续存储(serialize)机制,却是我十分钟爱的地方。在此,可让大转载 2014-12-08 12:36:17 · 722 阅读 · 0 评论 -
MFC六大核心机制之五、六:消息映射和命令传递
作为C++程序员,我们总是希望自己程序的所有代码都是自己写出来的,如果使用了其他的一些库,也总是千方百计想弄清楚其中的类和函数的原理,否则就会感觉不踏实。所以,我们对于在进行MFC视窗程序设计时经常要用到的消息机制也不满足于会使用,而是希望能理解个中道理。本文就为大家剖析MFC消息映射和命令传递的原理。理解MFC消息机制的必要性说到消息,在MFC中,“最熟悉的神秘”可以说是消息映射转载 2014-12-08 12:38:23 · 742 阅读 · 0 评论 -
Windows的各种扩展名详解
Windows系统文件按照不同的格式和用途分很多种类,为便于管理和识别,在对文件命名时,是以扩展名加以区分的,即文件名格式为: 主文件名.扩展名。这样就可以根据文件的扩展名,判定文件的种类,从而知道其格式和用途。例如:文件名1.DOC的扩展名DOC表示本文件是一个Microsoft Word 文档,文件名2.XLS的扩展名XLS表示本文件是一个Microsoft Excel 工作表,转载 2014-12-08 12:41:10 · 8231 阅读 · 0 评论 -
MFC程序的来龙去脉
引言 : 侯捷老师在他那本著名的"深入浅出MFC"(第二版)的第六章中对比着传统的Win32API编程,详细讲解了MFC应用程序“生死因果”,而且侯捷 老师还在"深入浅出MFC"(第二版)一书的“无责任书评”中称应用程序和MFC Framework的因果关系,是学习MFC程序设计的关键,并把它作为学习MFC程序设计的"第一个台阶".正文 : 初学MFC程序设计的人(甚至转载 2014-12-08 11:58:35 · 1316 阅读 · 0 评论 -
MFC六大核心机制之二:运行时类型识别(RTTI)
typeid运算子运行时类型识别(RTTI)即是程序执行过程中知道某个对象属于某个类,我们平时用C++编程接触的RTTI一般是编译器的RTTI,即是在新版本的VC++编译器里面选用“使能RTTI”,然后载入typeinfo.h文件,就可以使用一个叫typeid()的运算子,它的地位与在C++编程中的sizeof()运算子类似的地方(包含一个头文件,然后就有一个熟悉好用的函数)。typdid转载 2014-12-08 12:32:41 · 456 阅读 · 0 评论 -
Windows的字体LOGFONT
Windows的字体LOGFONTLOGFONT是Windows内部字体的逻辑结构,主要用于设置字体格式,其定义如下:typedef struct tagLOGFONTA{LONG lfHeight;LONG lfWidth;LONG lfEscapement;LONG lfOrientation;LONG lfWeight;BY转载 2014-12-08 15:43:27 · 2821 阅读 · 0 评论 -
VC实现对Excel表格的操作
转载请注明原文网址:http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html通过VC实现对Excel表格的操作的方法有多种,如:通过ODBC数据库实现,通过解析Excel表格文件,通过OLE/COM的实现。本文主要研究通过OLE/COM实现对Excel表格的操作。 本文源码的应用环境说明:转载 2015-03-20 18:27:12 · 2266 阅读 · 2 评论 -
MFC发送消息设置组合框CComboBox控件的高度和宽度
MFC进行界面编程时,组合框CComboBox控件在可视化设计组件的时候是无法进行高度编辑的,但是我们在实际的项目中经常需要定制组合框CComboBox的高度以得到良好的用户体验。本文介绍通过发送CB_SETITEMHEIGHT消息给控件的方法实现改变CComboBox控件的高度。转载 2014-04-16 15:50:57 · 4982 阅读 · 3 评论 -
VC错误处理技术学习:断言(ASSERT)
1.1 基本概念 断言是一种让错误在运行时候自我暴露的简单有效实用的技术。它们帮助你较早较轻易地发现错误,使得整个调试过程效率更高。 断言是布尔调试语句,用来检测在程序正常运行的时候某一个条件的值是否总为真,它能让错误在运行时刻暴露在程序员面前。使用断言的最大好处在于,能在更解决错误的发源地的地方发现错误。断言具有以下特征:n 断言是用来发现运行时刻错转载 2016-06-28 19:14:12 · 2337 阅读 · 0 评论 -
Win32串行通信中文版(Serial Communications In Win32)
可到http://download.csdn.net/detail/zcube/5079651下载排版好的PDF版本。 原文链接:http://msdn.microsoft.com/en-us/library/ms810467.aspx 艾伦戴夫 微软Windows开发者支持中心 1995/12/11 应用转载 2017-07-21 15:53:47 · 424 阅读 · 0 评论 -
WaitForMultipleObject与MsgWaitForMultipleObjects用法
WaitForMultipleObject与MsgWaitForMultipleObjects用法http://blog.csdn.net/byxdaz/article/details/5638680用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。 但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步转载 2017-09-20 18:20:35 · 942 阅读 · 0 评论 -
VC中建立程序的关联文件
当我们双击一个txt文件的图标时,系统就会用记事本打开该文件,这就是程序的关联。那我们自己编写的程序如何建立关联文件呢?第一步:设置自己程序关联的文件类型打开资源下的String Table,找到其中的IDR_MAINFRAME,双击该项,修改它的值,设它原来的值是:TextEditor\n\nTextEd\n\n\nTextEditor.Document\nTextEd Document若你关联...转载 2018-03-28 18:30:12 · 397 阅读 · 0 评论 -
MFC六大核心机制之一:MFC程序初始化
很多做软件开发的人都有一种对事情刨根问底的精神,例如我们一直在用的MFC,很方便,不用学太多原理性的知识就可以做出各种窗口程序,但喜欢钻研的朋友肯定想知道,到底微软帮我们做了些什么,让我们在它的框架下可以简单的写程序。本文开始就跟大家分享一位同行前辈写的MFC核心机制分析(稍作整理),语言朴实易懂,在读完此深入浅析的剖析系列后,相信留给大家的是对MFC运行机制的深入理解。 MFC六转载 2014-12-08 12:30:18 · 602 阅读 · 0 评论 -
VS2010 英文旗舰版 MFC 生成安装程序报错
错误信息:The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX40Client\dotNetFx40LP_Client_x86_x64zh-Hans.exe' in item 'Microsoft .NET Framewo原创 2015-01-26 15:46:11 · 726 阅读 · 0 评论 -
如何获取对话框指针
1、 在vs2010 选择“新建项目”à“其他项目类型”à“Visual StudioInstallerà“安装项目”: 命名为:Setup1 。这是在VS2010中将有三个文件夹,1.“应用程序文件夹”表示要安装的应用程序需要添加的文件;2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用转载 2014-04-16 15:42:51 · 931 阅读 · 0 评论 -
MFC 菜单项快捷键无效
我们在MFC中使用菜单时,都想使菜单项有快捷键,比如Ctrl+B等,在VC++2008或者VC++2010上面,我们会在子菜单项的Caption里输入菜单名以及额外输入(&I)\tCtrl+I,就能够显示如 发送(I) Ctrl+I 这样子菜单项,然后在Accelerator里面绑定一下快捷键及菜单ID就可以了。 但是问题出现了,在VC++2008和VC++2010转载 2014-04-16 16:22:15 · 2174 阅读 · 1 评论 -
VC 将界面中静态控件画的图形保存为bmp格式的图片
CWnd* pwnd=GetDlgItem(IDC_STATICDRAW);//获取静态控件的指针 CRect pRect;// CWnd* pWnd=GetDlgItem(IDC_STATICDRAW); CDC* pDC=pwnd->GetDC(); //使用控件指针创建绘图用的DC // pwnd->Invalidate(); // pwnd->Up转载 2014-04-16 15:54:49 · 1022 阅读 · 0 评论 -
想在基于MFC的对话框上的指定位置输出两行内容
初衷:想在基于MFC的对话框上的指定位置输出两行内容收获: 1.可以放一个静态编辑框,将其属性更改为Multiline; CSting str1,str2,strInfo; strInfo = str1+"\r\n"+str2; strInfo输出的时候str1,str2显示为两行数据 2.若不放置静态编辑框,直原创 2014-04-16 16:01:51 · 2053 阅读 · 0 评论 -
MFC异常处理和诊断
编写程序时出一些错误是难免的,在C++中称在软件或硬件中发生的不期望或不需要的事件为异常(Exception)。MFC提供了两种异常处理机制:l C++异常,在MFC 3.0和更高版本中可以使用l MFC异常,在MFC 1.0和更高版本中可以使用在程序出错误后需要调试程序,MFC提供了许多诊断服务,可以让用户轻松的调试程序,这些诊断服务大多以特定宏和全局函数形式出现。本章将向读者介转载 2014-05-05 14:27:25 · 1811 阅读 · 0 评论 -
MFC 子对话框中得到主对话框指针
在MFC的主窗口中添加了tab control控件之后,可以在一个窗口中显示不同的页面。假如主对话框类为CMainDialog, 子对话框类为CChildDialog有时候会遇到tab 的子窗口访问主窗口中变量和函数的问题,具体方法是:CMainDialog *pDlg = (CMainDialog *)GetParent()->GetParent();pDlg->函数或者...转载 2014-04-18 17:46:56 · 3008 阅读 · 2 评论 -
MFC 单文档视图 取消下拉菜单项的折叠问题
CMFCMenuBar remove "Expand Submenu" Double Arrow (display recently and all available menu commands always)Archived Forums V forums> Visual C++ MFC and ATLVisual C++ MFC and ATLRemo原创 2014-04-21 10:15:02 · 1220 阅读 · 0 评论 -
CTreeCtrl 控件的用法
CTreeCtrl类来封装树形控件的各种操作。通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格:TVS_HASLINES 在父/子结点之间绘制连线 TVS_LINESATROOT 在根/子结点之间绘制连线 TV原创 2014-04-21 18:54:31 · 1062 阅读 · 0 评论 -
globalalloc、malloc和new的区别
GlobalAlloc是为了与Win16兼容才保留的,在Win32下不要使用。全局内存对象使用GlobalAlloc函数分配,在Windows 3.X的时代,分配的内存可以有两种,全局的和局部的,例如GlobalAlloc和LocalAlloc。但在Win32的时代这些函数已经被废弃了,现在的内存只有一种就是虚存。在Win32中所有的进程所使用的内存区域是相互隔离的,每个进程都拥有自己的地址空间。转载 2014-04-25 09:15:08 · 587 阅读 · 0 评论 -
ListCtrl 使用方法总结
http://blog.csdn.net/crich_moon/article/details/6104526转载 2013-12-04 16:51:22 · 1187 阅读 · 0 评论 -
MFC API实现Excel读写 屏蔽调用SaveAs函数时弹出“文件已存在”问题
ExcelApp.put_DisplayAlerts(FALSE); book.SaveAs(_variant_t(strSaveAsName), _variant_t((long)56), vtMissing, vtMissing, vtMissing, vtMissing, 0,vtMissing , vtMissing, vtMissing, vtMissing,原创 2014-07-24 12:59:25 · 3649 阅读 · 0 评论 -
MFC API 设置Excel单元格格式
常见的单元格数据格式:Range("a1").NumberFormat = "0.00" '将数字设置为两位小数;Range("a1").NumberFormat = "0.00%" '将数字设置为两位小数的百分数;Range("a1").NumberFormat = "000000" '将数字设置为6位整数(邮编);Range("a1").NumberFormat = "@" '原创 2014-07-25 20:04:10 · 2485 阅读 · 1 评论 -
CWinThread类的封装方法
.h 文件#define WM_TEST WM_USER + 1class CTestThread : public CWinThread{ DECLARE_DYNCREATE(CTestThread)protected: CTestThread (); virtual ~CTestThread ();public: virtual BOOL转载 2014-08-14 12:32:25 · 836 阅读 · 0 评论 -
CSting 函数大全
CString的构造函数CString( );例:CString csStr; CString( const CString& stringSrc );例:CString csStr("ABCDEF中文123456"); CString csStr2(csStr);CString( TCHAR ch, int nR转载 2014-04-15 11:41:55 · 929 阅读 · 0 评论