MFC
阿尔兹
将生活技能点满,活成百科全书
展开
-
Win32关于调整窗口大小时,窗口闪烁问题及解决办法
先来谈谈闪烁产生的原因 :原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕 上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。 一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果这两次操作不在同一个 刷新周期内完成,那么给人的视觉感受就是,...原创 2020-01-10 17:52:14 · 4409 阅读 · 0 评论 -
资源操作相关函数及例子
假设我们从资源中读取数据FindResource函数确定具有指定类型和名称的资源在指定模块中的位置。如果想指定语言可以用FindResourceEx HMODULE hMdule = NULL; LPSTR ResName = ""; LPSTR ResType = NULL; HRSRC hRes = FindResource(hMdule,ResNa...原创 2020-01-02 13:46:22 · 691 阅读 · 1 评论 -
CString字符串查找和截取与去空格(Find,FindOneOf,ReverseFind,Left,Mid,Right,substr,TrimLeft和TrimRight)
一、CString之Find()、FindOneOf()、ReverseFind()。此三个函数返回值均为整数int。1、Find()该函数从最左侧0位置开始索引,查找到第一个出现该字符的位置,返回position。示例如下:CString s("abcabc");ASSERT( s.Find('b') == 1 );intf=s.Find("de")...原创 2019-12-26 21:29:47 · 4907 阅读 · 0 评论 -
.ini文件编程(WritePrivateProfileString,GetPrivateProfileString 的使用)
INI文件编程,WINAPI函数WritePrivateProfileString,GetPrivateProfileString在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.读取:GetPrivateProfileString函数原型:DWORD GetPrivateProfileStri...原创 2019-12-26 11:31:18 · 792 阅读 · 0 评论 -
CFile::GetStatus
函数原型:BOOL GetStatus( CFileStatus&rStatus )const;staticBOOLPASCALGetStatus( LPCTSTRlpszFileName, CFileStatus&rStatus, CAtlTransactionManager*pTM= NULL);参数...转载 2019-12-26 10:33:09 · 3062 阅读 · 0 评论 -
C++ MFC深入详解之----模态对话框与非模态对话框
对话框的种类有两种类型的对话框:模态( Modal)对话框和非模态( Modeless)对话框模态对话框模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务。例如,在Word中利用【文件打开】菜单命令显示一个“打开”对话框后,再用鼠标去选择其他菜单,或者进行该对话框以外的任何操作时,只会听到嘟嘟声,这是因为“打开”对话框是一个模态对话框。模态...原创 2019-12-20 16:08:10 · 3924 阅读 · 0 评论 -
MFC + Win32 API速查
目录2.1 窗口简介2.3 窗口之间的关系2.4 窗口的大小、位置和布局2.5 显示窗口2.6 窗口属性2.7 对话框2.8 其他设备上下文——DC3.3 设置和获取DC的各种属性3.4 区域操作3.5 裁剪操作3.6 坐标变换3.7 颜色和调色板3.8 其他基本画图函数4.2 路径相关函数4.3 处理DC对象4.4 图元文件...转载 2019-12-10 19:49:29 · 663 阅读 · 0 评论 -
XML解析之 Pugixml下载导入及使用介绍
下载:官方链接箭头部分是github的源码,圈住部分有讲解下载完成后,解压,找到src文件夹,里面有三个文件,分别是一个cpp文件:pugixml.cpp,和两个头文件:pugiconfig.hpp,pugixml.hpp,这三个文件就是我们要用到的(用的的时候把三个文件拽到你的工程文件夹,并在编译器上添加)编译,你可能会遇到一些error:例如:error(点击)解决之后再...原创 2019-12-10 18:42:56 · 2262 阅读 · 2 评论 -
C++ MFC深入详解之----list control控件单击列表头排序
首先,你要有一个list Control控件一:然后定义全局变量:DWORD dwSelCol = 0; //记录点击的列BOOL bASC = FALSE; //记录比较方法 默认为声升序二:添加比较函数:比较函数是一个回调函数,里面是排序方法的实现。首先在你的头文件中声明:static int CALLBACK MyCompareProc(LPAR...原创 2019-12-09 21:17:05 · 1799 阅读 · 1 评论 -
MFC CxImage库的下载导入使用及例子介绍(二)
下载你的CxImage库:戳这里将弄好的CxImage文件夹拽入你的工程下以对话框贴一张PNG格式的背景图为例子:首先创建一个MFC对话框工程(这个我就不交了)在文件视图(FileView)头文件StdAfx.h中加入以下代码#include "cximage/include/ximage.h"#pragma comment(lib, "cximage/lib/png.li...原创 2019-12-05 21:01:58 · 934 阅读 · 1 评论 -
MFC CxImage库的下载导入使用及例子介绍(一)
下载:首先,最重要的就应该是下载了:CxImage库下载,这个是7.0.2版本的CxImage是一个C ++图像处理库。它可以以非常简单和快速的方式加载,保存,显示,转换图像,具有透明度,多层和选择功能,支持BMP GIF JPG PNG MNG TIF ICO TGA PCX J2K JBG RAS PNM RAW PSD你会得到这样一个文件夹,在VC++中打开CxImage...原创 2019-12-05 20:28:19 · 1486 阅读 · 0 评论 -
C++ MFC深入详解之----设置控件背景透明
首先要添加OnCtlColor函数1.该函数在VC++中的添加方法为:快捷键Ctrl+W或右击空白处打开ClassWizard对话框(也可以菜单->view->ClassWizard),在Message Maps里的Messages框中找到OnCtlColor,点击Add Function添加在VS 类视图中右键点击你的DLG类点击属性,在上面找到消息图标,滑动,找到OnCtl...原创 2019-12-05 19:17:06 · 3798 阅读 · 0 评论 -
C++ MFC深入详解之----- 单双击ListControl控件获取选中行内容
首先为listControl添加消息NM_CLICK(单击)或NM_DBLCLK(双击)响应函数在VC++中右击空白处点击ClassWizard找到ListControl控件的ID,在消息栏(Messages)中点击NM_CLICK(单击)或NM_DBLCLK(双击),在点击右侧添加方法(Add Function),添加成功m_CCLIst为list控件关联的CListCtrl类型...原创 2019-12-04 18:49:55 · 6135 阅读 · 1 评论 -
VC++ MFC资源中添加PNG,JPG等图片资源
1. 右击资源文件夹->选择“添加资源”,弹出添加资源对话框,选择“自定义”,弹出对话框:2. 输入“PNG”,点确定:3. 右击->添加资源->选择“PNG”->点击“导入”:4. 查找要导入的文件,点击打开,弹出自定义资源类型,选择“PNG”,点击确定:如果没看到你想要的图片,把下方的文件格式改成所有格式,如果还没看到,就直...原创 2019-12-04 15:08:28 · 5904 阅读 · 1 评论 -
CPPToolTip控件类下载与使用介绍
下载:下载链接:https://www.codeproject.com/Articles/3655/CPPToolTip-v2-1上面的是类源码,下面的是大佬的小项目下载完成后有八个文件使用:介绍: 文件 描述 PPTooltip.h PPTooltip.cpp CPPTooltip 类 PPHt...原创 2019-12-02 21:05:56 · 671 阅读 · 0 评论 -
C++ MFC深入详解之-----手动调用重绘函数刷新界面(OnPaint)
InvalidateInvalidateRect()等类似的函数都是提供“手动”调用OnPaint的原创 2019-11-29 18:31:45 · 3173 阅读 · 0 评论 -
C++ MFC深入详解之----设置static静态文本的字体和颜色
一.设置文本字体:1.首先,在对话框上添加一个Static控件,ID为IDC_STATIC,关联一个控制变量m_static(不是Value,是Control)2.声明变量在C*****Dlg.h文件中加入代码 private: CFont m_Font;3.然后,在C*****Dlg.cpp文件中,对话框初始化中添加下列代码即可BOOL C***...原创 2019-11-21 19:31:43 · 7295 阅读 · 2 评论 -
XML解析之 MSXML应用总结 开发篇(下)
三、查询XML文档节点这部分属于“读”XML文档并做节点遍历,由于担心加上实例会占用过多的篇幅影响阅读,先在这篇做方法总结,以后有时间再写一篇“实战篇”专门写个实例工程,可以有更完整的参考代码。查询和遍历XML文档的大致步骤:创建IXMLDOMDocument接口对象 -> load加载文档 -> 得到root节点 -> 依次遍历各节点。也可以通过IXMLDO...转载 2019-11-21 14:32:46 · 613 阅读 · 0 评论 -
XML解析之 MSXML应用总结 开发篇(上)
(由于包含太多格式符号,新浪提示篇幅过长,因此分为上、下两篇)本篇是接前文“MSXML应用总结 概念篇”写的,主要总结一下MSXML DOM接口的应用。DOM(Document Object Model)是微软提供的处理XML文档的一个API标准库,我们可以将其理解为一组抽象了XML文档结构的接口。MSXML的DOM模型是符合W3C DOM标准的,而DOM API在Win...转载 2019-11-21 14:27:32 · 577 阅读 · 0 评论 -
XML解析之 MSXML应用总结 概念篇
微软提供了大量的XML开发工具和技术,而SMXML(Microsoft XML Core Services)应该是一般开发中最常用到的技术了。MSXML支持了包括DOM(Document Object Model)、SAX(Simple API for XML)、XMLHttpRequest、XPath、SOM(Schema Object Model)等多种API接口和XML操作工具。本篇先主要介...转载 2019-11-21 14:20:35 · 894 阅读 · 0 评论 -
C++ MFC深入详解之----线程通过PostMessage发送消息(自定义消息)
我们举一个例子:点击按钮创建线程,并把字符串显示在编辑框中按钮ID:IDC_BUT_CreateThreadEdit编辑框ID:IDC_ShowStr首先第一步:(第一步都是在xxxxDlg.h文件中)1.在 xxxxDlg.h文件中定义消息(xxxxDlg.h中xxxx是创建时自己起的名字)添加:#define WM_MY_MESSAGE (WM_USER+100)...原创 2019-11-14 17:17:09 · 5062 阅读 · 1 评论 -
C++ MFC深入详解之---- 实现进程间通信(WM_COPYDATA)
首先你要知道:消息WM_COPYDATA的作用为:当应用程序将数据传递到另一个应用程序时,将发送此消息。句法:WM_COPYDATA wParam = (WPARAM)(HWND) hwnd; lParam = (LPARAM)(PCOPYDATASTRUCT) pcds;参数:hwnd 处理传递数据的窗口。pcds 指向包含要传递的数据的COPYDATA...原创 2019-11-19 16:10:17 · 2393 阅读 · 1 评论 -
C++ MFC深入详解之----UpdateData的作用
UpdateData() 是MFC的窗口函数,用来刷新数据的。总的来说:操作系统会调用这个函数来初始化对话框中的数据,或者检索或者验证对话框中的数据。简单说就是:如果UpdateData(TRUE) == 将控件的值赋值给成员变量;UpdateData(FALSE) == 将成员变量的值赋值给控件。即:UpdateData(FALSE):将程序中改变的变量的值更新至控件中去;...原创 2019-11-21 13:58:38 · 3032 阅读 · 0 评论