
MFC
文章平均质量分 67
记录一下关于MFC项目编程当中遇到的一系列实际知识、问题,以及相应的解决方案和学习方法
dashumak
从未长大,从未停止成长
展开
-
MFC:关于常用控件的一些处理函数[持续更新中]
记录一下项目当中用到的部分控件的常用函数,以及一些自写的处理函数原创 2019-03-19 11:33:37 · 945 阅读 · 0 评论 -
MFC:数据有效机制DDV
MFC提供了类CDataExchage 来实现对话框类与控件交换(DDX),该类还提供了数据有效机制(DDV)。 DDV_MaxChars void AFXAPI DDV_MaxChars( CDataExchange* pDX, CString const& value, int nChars ); 参数: pDX 指向CDataExchange...原创 2019-03-19 11:23:21 · 769 阅读 · 0 评论 -
MFC:关于链表的使用
1. 使用typedef的链表定义方式typedef CTypedPtrList <CObList, CPSProp *> CPSList这是一个typedef的重命名,用CPSList代替CTypedPtrList <CObList, CPSProp *>。CTypedPtrList 是MFC的一个模板类,CObList和CPSProp是它的两个输入参数类型。真...原创 2019-03-11 15:28:03 · 2424 阅读 · 0 评论 -
MFC:关于MFC框架的一系列基本知识和简单理解集合[持续更新中]
一、引用#include“stdafx.h"的意义在cpp文件中的头文件引用位置,我们往往会发现这样的语句(而且最好是在其他的应用文件之前)#include"stdafx.h"#include"..."stdafx的英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展)。stdafx.h中没有函数库,只是定义了一些环境参数...原创 2019-03-11 15:21:49 · 348 阅读 · 0 评论 -
MFC:typedef用法说明
typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,它的四中用法总结如下1、用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,和一个字符变量;//以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, p...原创 2018-07-30 15:05:10 · 647 阅读 · 0 评论 -
MFC:关于Windows SDK和API的理解以及常用的Windows数据类型
1、Windows SDK和APIWindows SDK 每出现一套新的Windows系统,就会推出一个SDK(软件开发工具包Software Development Kit)。 SDK可以理解成Windows系统提供的软件开发工具的集合,除了大量的Windows函数、定义还包括相关的说明文档、辅助工具、实例等。 Windows API Windows ...原创 2018-08-14 18:58:21 · 1015 阅读 · 0 评论 -
MFC:CObList::Serialize函数以及串行化函数
一、CObList::Serialize函数最近CObList类串行化时出了一点问题,但是从网上找不到CObList::Serialize的源代码,现在将《输入浅出MFC》中的函数列于下方,方便查看。void CObList::Serialize(CArchive& ar){ ASSERT_VALID(this); CObject::Serialize(ar)...原创 2018-09-05 13:13:22 · 1210 阅读 · 0 评论 -
MFC:通过代码简单理解进程间的通讯机制——共享内存
下面用共享映射文件的方式实现进程间通信,代码可以运行。一、浅理解&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;nbsp;每个进程有自己独立的空间,一个进程无法访问其他进程的数据。就好像两个是互不干涉的个体,想让它们进行通信(原创 2018-10-17 12:38:43 · 3312 阅读 · 1 评论 -
MFC:配置项目属性解决的各种error问题
首先编译提示error C1010的错误fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;stdafx.h&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;”?上述问题定位在MemDB.c,解决方法是在解决方案管理器中查找&amp原创 2018-10-25 20:11:33 · 2407 阅读 · 0 评论 -
MFC:将工程从VC6.0工程升级到VS2017所遇到的代码不兼容问题集合
一、VS2017下使用MFC无法调用函数Htmlelp1.问题描述在VS2017上开始的时候程序是这么写的:#include &amp;amp;amp;quot;htmlhelp.h&amp;amp;amp;quot;...//通过HtmlHelp调用帮助文件(.chm)的程序代码如下: HtmlHelp(NULL, (LPCSTR)helpFile, HH_DISPLAY_TOPIC, 0);结果报错如下(改段程序在VC6.0上不会报错的):E...原创 2018-11-16 10:15:19 · 5385 阅读 · 2 评论 -
MFC:常见的不同类型相互转化的方法
一、LPARAM类型转化为CString类型类型变量LPARAMlParamCStringstr1.将变量lParam的值赋予str的方法:①使用构造函数CString str((char*)lParam); ②使用运算符重载str=(char*)lParam;//注意CString str=(char*)lParam;不会成功③使...原创 2018-11-16 12:19:22 · 940 阅读 · 0 评论 -
MFC:Stack around the “tWindowString” was corrupted(堆栈损坏,即内存溢出)
最近调试程序的时候出现了这样一个问题其中关键性的内容有两个:出现error的位置和error信息。可以看到错误位置在mytree.cpp的377行,问题原因是Run-Time Check Failure #2 - Stack around the “tWindowString” was corrupted。翻译过来就是运行时检查失败#2 - “tWindowString”周围的堆栈已损坏。所...原创 2018-11-20 20:57:24 · 974 阅读 · 0 评论 -
MFC:网络通讯遇到的几个问题
一、udp的recvfrom无法接收数据这个问题不是程序的问题,毕竟调试助手是收不到包的,应该把防火墙关闭然后重新测试一下程序。二、sin_addr.s_addr和sin_addr.S_un.S_addr看到第一行了没,S_un.S_addr 是s_addr的宏定义,这两个是一个东西(注意大小写呦,MMP~~)三、借助IPHLPAPI函数添加/删除临时Ip4地址增加的IP是临时的,当系统重新启动或者发生其它的PNP事件的时候这个IP就不存在了,比如将网卡禁用,然后启用,就会发现之前调用函数AddI原创 2018-11-24 17:48:28 · 1261 阅读 · 1 评论 -
MFC:内存泄漏引发的思考
1、循环内创建变量(只要不是动态开辟的变量),不会增加内存使用如下,这段程序并不会随着每次循环不断实例化a、pTempDataDI、TempDataDI3个变量而导致内存增加。因为VC/VS这些编译器认为,每次实例化a、pTempDataDI、TempDataDI都是对应的同一片内存。 while (1) { CDataDI *pTempDataDI = (CDataDI *) m_D...原创 2018-12-10 22:11:18 · 354 阅读 · 0 评论 -
MFC:写一小段获得当前应用程序所在路径的程序
char filename[_MAX_PATH]; int num; if (GetModuleFileName(NULL, filename, _MAX_PATH) != 0) { m_Path.Format(&amp;quot;%s&amp;quot;, filename); num = m_Path.ReverseFind('\\'); m_Path = ...原创 2018-12-27 21:14:23 · 358 阅读 · 0 评论 -
MFC:针对对话框的一些操作
一、屏蔽对话框的ESC和Enter的响应新建的对话框弹出后,按ESC和Enter键,对话框就会退出(或隐藏)。有的时候我们需要屏蔽这样的动作,需要在自己写的对话框类中添加这样的代码:以CUpdateParametersDialog类为例,在.h文件中加入BOOL PreTranslateMessage(MSG *pMsg);//至于是public、还是protected好像是都可以在.c...原创 2019-02-13 17:47:51 · 318 阅读 · 0 评论