![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC/Windows
文章平均质量分 55
LaugustusJ
一只小菜鸟
展开
-
MFC常用扩展
括号匹配:Indent Guides原创 2020-07-24 09:45:41 · 318 阅读 · 0 评论 -
VS通过鼠标滑轮对图形缩放
int m_nScale = 100; // 比列,初始为100%void CaDlg::OnPaint(){ CPaintDC dc(this); // 用于绘制的设备上下文 CRect rc( 10, 20, 100, 200 ); // 初始矩形 rc = rc.MulDiv( m_nScale, 100 ); // 按比例求大小 dc.FillRect( ...原创 2018-04-09 09:39:34 · 1335 阅读 · 0 评论 -
建立合适的坐标系,进行绘图
转自:https://www.cnblogs.com/flying-roc/articles/1970298.html建立一个合适的坐标系可以为我们的绘图带来很大的方便。下面介绍一下如何在VC中建立我们想要的坐标系。 一 设备坐标和逻辑坐标 设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏...转载 2018-04-09 08:48:02 · 4208 阅读 · 0 评论 -
对话框函数执行顺序整理
OnInitDialog与OnSize的执行顺序:当窗口style = popup 时 执行顺序:1.OnSize() 2.OnInitDialog()当窗口style= overlapped时 执行顺序:1.OnInitDialog() 2.OnSize()通常情况下是OnSize()比OninitDialog()先执行OnCreate 顺序:(PreCreateWindow在模态对话框创建...原创 2018-04-08 15:44:35 · 486 阅读 · 0 评论 -
WM_CONTEXTMENU与WM_RBUTTONUP的区别
右键释放的时候,这2个消息都会响应。DefWindowProc generates the WM_CONTEXTMENU message when it processes the WM_RBUTTONUP or WM_NCRBUTTONUP message or when the user types SHIFT+F10. The WM_CONTEXTMENU message is also g...翻译 2018-03-27 14:38:37 · 2004 阅读 · 1 评论 -
MFC控制树
简介GetContextMenuManager()->AddMenu();添加自定义菜单上句主要是在C_App的PreLoadState()中调用,预先加载好所需要的右键快捷菜单 GetContextMenuManager()->ShowPopupMenu()显示自定义菜单。在加载好右键快捷菜单之后,当需要显示时,直接调用注:GetContextMenuManage...原创 2018-03-22 16:20:33 · 626 阅读 · 0 评论 -
窗口底色透明设置
此函数用于设置分层窗口透明度,需要指定窗口样式为WS_EX_LAYEREDBOOL SetLayeredWindowAttributes(HWND hwnd, // 指定分层窗口句柄COLORREF crKey, // 指定需要透明的背景颜色值,可用RGB()宏BYTE bAlpha, // 设置透明度,0表示完全透明,255表示不透明DWORD dwFlags // 透明方式);其中,dwFla...原创 2018-03-12 11:31:33 · 2298 阅读 · 0 评论 -
为类的源文件指定存储位置
来源:http://www.cocoachina.com/bbs/read.php?tid=194016先在你想要保存的目录下 用文本创建一个 .h 和 .cpp 文件, 然后右键工程选择"添加 现有项" 。在此头文件源文件写类的定义,在class视图里就可以看到类的定义翻译 2018-01-28 17:23:46 · 250 阅读 · 0 评论 -
xls批量转csv
本文为Excel VBA代码,可以实现将某一文件夹内的Excel文件(xls或者xlsx)另存为“逗号分隔的csv文件”。使用条件:1. Windows系统;2. 已安装 MS 2007或以上版本本文测试环境: Win7 sp1 64bit 英文系统+MS2013如果菜单栏上没有开发工具,则在选项中添加。点击文件,弹出菜单选择选项。在EXCEL选项中,点击自定义功能区,右边勾选开发工具,然后点击翻译 2018-01-06 16:34:00 · 6515 阅读 · 2 评论 -
输出位图中BitBlt函数、GetDIBits函数中的使用
BOOL BitBlt (int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop)BitBlt 是把pSrcDC的数据复制到调用该函数的DC上int GetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, L原创 2017-12-21 20:47:00 · 2671 阅读 · 0 评论 -
兼容DC作用
如果直接在pDC上画很多线或者文字或者图片,那么你的显示区域就会闪动。闪动的原因是因为你的程序执行有先后,先画一个再画一个,少的时候不影响,当数据大时候就会非常明显。内存DC就很好的解决了这个问题,你所把有图形都画在内存DC上,再最后一起贴到pDC上,就不会闪了。这就是是所谓的双缓存。兼容DC也叫内存DC,就是内存中的一段buf,可以理解这段buf是给显卡用翻译 2017-12-19 09:08:15 · 444 阅读 · 0 评论 -
MFC中函数GetWindowRect()和GetClientRect()的区别
http://blog.sina.com.cn/s/blog_962f1c150101g8uq.html通过例子来说明这两个函数的具体作用。创建一个基于Dialog的MFC应用程序工程Dialog,在对话框上添加一个按钮,其ID为IDC_BTN_ESCAPE:在DialogDlg.cpp中使用语句:[cpp] view plaincopy转载 2017-12-18 09:07:09 · 3979 阅读 · 0 评论 -
BITMAPFILEHEADER、BITMAPINFOHEADER及BMP结构详解
https://www.cnblogs.com/lzlsky/archive/2012/08/16/2641698.html位图BITMAPINFOHEADER 与BITMAPFILEHEADER:先来看BITMAPINFOHEADER,只写几个主要的 biSize包含的是这个结构体的大小(包括颜色表) biWidth和biHeight分别是图片的长转载 2017-12-17 20:21:46 · 249 阅读 · 0 评论 -
如何把RGB函数的返回值还原成Red、Green、Blue
RGB函数就是(1*R+256*G+65536*B)方法一:colour=RGB(red,green,blue)red=colour And &HFF green= (Color And 65280) \ 256 blue=(Color And &HFF0000) \ 65536方法二: Option Explicit转载 2017-12-14 16:15:14 · 2225 阅读 · 0 评论 -
DECLARE_SERIAL / IMPLEMENT_SERIAL 宏的技术详解
DECLARE_DYNAMIC表明的是支持类型信息, 有了这个宏,我们就可以判断一个类究竟是什么类,比如class A;class B:public A;A a;B b;现在有一个指针 class *pA 它指向一个对象, 请问你怎么知道pA指向的是a对象还是b对象,这是如果有类型信息,我们就可以知道pA到底是什么对象, 其实,它内部的实现原理是一个字符串,所以,进行这个判断时转载 2017-12-13 22:41:21 · 2423 阅读 · 2 评论 -
Invalidate()与UpdateWindow()
UpdateWindow( )的作用是使窗口立即重绘。调用Invalidate等函数后窗口不会立即重绘,这是由于WM_PAINT消息的优先级很低,它需要等消息队列中的其它消息发送完后才能被处理。调用UpdateWindow函数可使WM_PAINT被直接发送到目标窗口,从而导致窗口立即重绘。系统为什么不在调用Invalidate时发送WM_PAINT消息呢?又为什么非要等应用消息队列为空时才发送转载 2017-12-07 10:55:28 · 330 阅读 · 0 评论 -
vcxproj
sln是解决方案的配置,主要是管理这个方案里的多个vcxprojvcxproj是工程的配置文件,管理工程中细节比如包含的文件,引用库等一般没有sln,也可以直接打开vcxproj,也可以重新生成slnsln里有多个工程,当你移除某个工程时sln会有变化,sln并不是太重要转载 2017-12-05 10:27:15 · 4006 阅读 · 0 评论 -
MK_CONTROL 与 VK_CONTROL 有什么区别,用&与用==的区别
MK_CONTROL 与 VK_CONTROL 有什么区别,各个评论的汇总:1.VK_CONTROL用在键盘消息中,判断是否为 Ctrl 键的消息。由于 WM_KEYDOWN/WM_KEYUP 一次只有一个键的消息,所以直接相等判断 if (wParam == VK_CONTROL)MK_CONTROL用在鼠标消息中,判断鼠标点击时 Ct转载 2017-10-23 16:30:37 · 6389 阅读 · 0 评论 -
WM_CHAR消息与WM_KEYDOWN消息
各个评论的汇总:1.WM_CHAR消息只响应字符按键和部分控制符(有很多控制字符不响应 不响应的键如下:Tab键///Caps Lock大小写切换键//ESC键///F1~F12///SHIFT///CTRL///ALT///方向键///方向键上方键盘区///Num Lock键)WM_KEYDOWN响兴所有按键消息(Alt键///Print Screen SysRq转载 2017-10-23 15:56:34 · 5198 阅读 · 0 评论 -
类的大小/字节对齐
最近在复习c++的一些基础,感觉这篇文章很不错,转载来,大家看看!类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。摘抄部分:成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里面,同一个类的多个对象共享函数代码。而我们访问转载 2017-10-23 09:57:11 · 1110 阅读 · 1 评论 -
函数左括号到右括号跳转
Ctrl键+]键原创 2017-10-13 14:50:28 · 1753 阅读 · 0 评论 -
MFC中包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
博客转自:https://blog.csdn.net/u012043391/article/details/54972127VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项均在"项目->属性->配置属性"下进行配置,具体说明如下:VC++目录: 包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录 库目录:寻找.lib文件的...转载 2018-04-19 16:43:33 · 2464 阅读 · 0 评论 -
0xCCCCCCCCC的内存不能访问的原因
转自:https://blog.csdn.net/csw_100/article/details/5665393在VC6下调试程序,可能会遇到诸如指令引用“0xcccccccc”,该内存不能为Read的报错究其原因,就debug版中的堆栈中的局部变量(包括指针)在明确初始化之前都用0x0cc进行初始化,因此,未初始化时 候的指针是指向地址0x0cccccccc的,而这段地址一来是处转载 2018-04-24 09:08:43 · 654 阅读 · 0 评论 -
MFC的ActiveX控件 - 1
转自:https://blog.csdn.net/babykangaroo/article/details/45795079本文是入门学习ActiveX的学习笔记,属于系统学习整个框架部分,具体细节自己写代码时再深入。学习参考书籍是《MFC Windows程序设计(第二版)》,使用开发环境是VS2010。总共分为三部分: 1: ActiveX控件基础; 2:创建ActiveX控件; ...转载 2018-05-18 16:34:39 · 3614 阅读 · 1 评论 -
C++头文件、源文件的编译链接
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独立的,...转载 2017-12-11 15:17:02 · 7366 阅读 · 1 评论 -
字符编码:ANSI、ASCII、Unicode、UTF-8、UTF-16、UTF-32概念和格式转换
转自:https://blog.csdn.net/dongchongyang/article/details/52484794ANSI和ASCII区别ANSI码(American National Standards Institute)美国国家标准学会的标准码ASCII码(America Standard Code for Information Interchange)美国信息交换标准码是基于...原创 2018-05-21 11:28:32 · 4166 阅读 · 0 评论 -
VS2013类向导“异常来自 HRESULT:0x8CE0000B” /调试卡顿
转自:https://blog.csdn.net/swingflap/article/details/53239911本文参考了方法:http://blog.csdn.net/skyloveyue/article/details/52105912并分析了该文中的http://connect.microsoft.com/VisualStudio/feedbackdetail/view/883792/...转载 2018-05-08 15:07:58 · 264 阅读 · 0 评论 -
MFC下OpenGL环境搭建
在C3DStereoView::OnCreate函数下,显示调用Init函数,如下: int C3DStereoView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; Init(); // 初始化OpenGL return ...原创 2018-05-16 15:02:13 · 525 阅读 · 0 评论 -
常用函数---windows/MFC
1、BitBlt():是CDC成员函数BOOL BitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop);将pSrcDC的中的位图输出到调用该函数的CDC对象上,因为要想在一个CDC对象上显示位图,不能够直接在其上面“画”,必须先在一个兼容DC上画,之后再调用BitBlt函数,将兼容...原创 2018-04-20 11:22:57 · 310 阅读 · 0 评论 -
MFC的ActiveX控件 - 2
转自:https://blog.csdn.net/liuyi1207164339/article/details/467633771.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。 ActiveX控件的后缀名是OCX或者DLL。一...转载 2018-06-11 16:03:33 · 444 阅读 · 0 评论 -
C Runtimes函数、WIndowsAPI函数
Windows调用的函数可以分为C Runtimes函数、WindowsAPI函数。C Runtime是windows平台下的一个概念。一般来说,CRT函数(C Runtime函数)就是标准的C语言函数。例如,printf、scanf、strlen、fopen等函数就属于CRT函数。在windows下所有的CRT函数最终都是转化成为win32 API来执行的。windows本身并没有在内核之上提供...转载 2018-06-11 18:55:46 · 349 阅读 · 0 评论 -
MFC使用-内存泄漏检测、内存监测
内存泄漏检测此部分转自:https://blog.csdn.net/caimouse/article/details/1358269在写VC的程序经常发现有内存出错的情况,运行结束之后,就会有报告是否内存出现泄漏情况,如下面所示:Detected memory leaks!Dumping objects ->{223} normal block at 0x003CF650, 4 bytes ...原创 2018-05-24 10:36:24 · 1069 阅读 · 0 评论 -
vs使用 - 内存泄露检测方法
转自:https://blog.csdn.net/whatday/article/details/50427101方法一、1、头文件:#define _CRTDBG_MAP_ALLOC#include <stdlib.h>#include <crtdbg.h> 注意 #include 语句必须采用上文所示顺序。如果更改了顺序,所使用的函数可能无法正确工作。 2、在添加了上...转载 2018-06-06 09:55:42 · 693 阅读 · 0 评论 -
vs对话框去掉标题、边框
转自:https://blog.csdn.net/visualeleven/article/details/19543391if(dlg.GetSafeHwnd()) { dlg.ModifyStyle(WS_CAPTION, 0); // 去掉标题栏 dlg.ModifyStyleEx(WS_EX_DLGMODALFRAME, 0); // 去掉边框 dl...转载 2018-06-20 22:45:47 · 1907 阅读 · 0 评论 -
利用MFC计算当前项目总行数
转自:https://blog.csdn.net/acetaohai123123/article/details/78267102编辑-查找和替换-在文件中查找,然后查找内容填写下面的东西,勾选使用正则表达式,点击查找全部b*[^:b#/]+.*$ 在查找结果的最后一行显示了总的行数和文件数 ...转载 2018-06-13 15:29:31 · 633 阅读 · 0 评论 -
获取指定文件的文件大小
1、VC++实现获取文件占用空间大小的两种方法(非文件大小)转自:https://www.cnblogs.com/hwangbae/archive/2012/07/21/2602592.html是用API函数实现的写一个工具正好需要用到获取文件在磁盘上占用空间的大小,先普及一下知识吧首先说一下“文件大小”和“占用空间”的区别,文件大小是指文件自身的大小,不管这个文件放在哪里大小都不会发生改变,而占...转载 2018-06-13 16:03:41 · 1122 阅读 · 0 评论 -
vs实现选择文件夹对话框
转自:https://blog.csdn.net/dpsying/article/details/174584011,目的提供一个对话框供用户选择一个文件夹路径。2,原理&实现先贴上这个工具类的源码:在你的程序中使用静态方法 CSelectFolderDlg::Show() 就能显示一个选择文件夹的对话框啦,返回的CString就是所选文件夹路径。/* 文件:SelectFolderDl...转载 2018-06-13 17:57:08 · 6485 阅读 · 0 评论 -
MFC对Word操作
1、导入Word类库参考:https://blog.csdn.net/hhhh63/article/details/76526962、对Word操作直接使用类库对Word操作:文本输出:https://blog.csdn.net/anqier0468/article/details/50525811涉及表格输出部分:https://blog.csdn.net/wang_lich...原创 2018-06-13 18:18:51 · 1338 阅读 · 1 评论 -
MFC的使用——在共享DLL中使用MFC、在静态库中使用MFC
转自:https://blog.csdn.net/albertsh/article/details/52838419前言我们在使用Microsoft Visual Studio软件(也就是我们常常说的VS)时,其中项目属性中有一项叫做“MFC的使用”,里面包含有不同的设置,会影响我们所编写的程序的使用,今天我就遇到了这个情况,我们一起来总结一下,避免犯下相同的错误。内容昨天写了一个小程序,使用的是...转载 2018-05-30 22:37:08 · 883 阅读 · 0 评论 -
C++/MFC两种方法遍历指定文件或文件夹
转自:https://blog.csdn.net/m_buddy/article/details/539102421、C++方法此代码是基于win32平台定义的两个成员变量private: std::vector<std::string> filepath; //保存图像数据的位置信息 char m_szInitDir[1000]; ...转载 2018-06-07 15:04:55 · 676 阅读 · 0 评论