
MFC学习笔记
MFC项目开发过程中的项目经验总结,知识点梳理整理,花费必要的时间将知识整理存档是有必要的,未来的我们会感谢今日辛苦的我们。
好记性不如烂笔头,知识不会过期,只会遗忘,但是二次学习只要有恰当的资料就能事半功倍,另外温故而知新。
蒙蒙plus
这个作者很懒,什么都没留下…
展开
-
【MFC】CSplitterWnd 重载限定窗口调整范围
前言:void CSplitterWnd::GetColumnInfo(int col, int& cxCur, int& cxMin) ;在使用拆分窗口时我的需要是想调整窗口大小在一定范围 不允许过小和隐藏,通过文档得知此代码设置窗口的当前宽度和最小宽度,但是在实际使用发现在调整窗口小于设定的cxMin时,竟然让窗口消失了,这完全与我的需求背道而驰,因此通过分析源码找到了 较为完美的解决方案,并记录笔记,欢迎朋友们交流互相学习。注:CSplitterWndEx是继承的CSpli..原创 2020-11-18 10:42:16 · 548 阅读 · 0 评论 -
【MFC】ON_NOTIFY 手动模拟发送
通知事件的接收指令原型#define ON_NOTIFY(wNotifyCode, id, memberFxn) \ { WM_NOTIFY, (WORD)(int)wNotifyCode, (WORD)id, (WORD)id, AfxSigNotify_v, \ (AFX_PMSG) \ (static_cast< void (AFX_MSG_CALL CCmdTarget::*)(NMHDR*, LRESULT*) > \ (memberFxn)) },wNotif原创 2020-11-16 14:16:27 · 1873 阅读 · 0 评论 -
MFC CMFCTabCtrl 笔记
控件手动创建过程BOOL Create(Style style, const RECT& rect, CWnd* pParentWnd, UINT nID, Location location = LOCATION_BOTTOM, BOOL bCloseBtn = FALSE);style: STYLE_3D = 0, STYLE_FLAT = 1, STYLE_FLAT_SHARED_HORZ_SCR原创 2020-10-30 09:48:56 · 1088 阅读 · 0 评论 -
VC++ Win API 获取屏幕数量和分辨率和位置等信息
这里给出了可以使用的代码 但有待优化 期望有朋友给出建议 //枚举所有屏幕 DISPLAY_DEVICE ddDisplay; ZeroMemory(&ddDisplay, sizeof(ddDisplay)); ddDisplay.cb = sizeof(ddDisplay); DEVMODE dm; ZeroMemory(&dm, sizeof(dm)); ...原创 2020-04-11 21:48:57 · 3423 阅读 · 1 评论 -
MFC 托盘图标 NOTIFYICONDATA 封装class
说明: 我只是把原本的NOTIFYICONDATA结构体创建方式进行一次封装,还有大量可扩展空间 诸位自行研究 我这里只是一个简易的框架CMainFrame头文件中需要添加的对象//托盘功能#define WM_SYSTEMTRAY WM_USER + 0x0010#include "NotifyIcon.h"class CMainFrame{//... CNotify...原创 2020-04-09 21:28:11 · 363 阅读 · 0 评论 -
Mat转HBITMAP CBitmap
本转换代码从opencv源码 imshow中提取并改造而成 源码来自与opencv4库 与openCV3有些许不同这里给出内部用到的转换代码,拿到HBITMAP句柄后 再使用 CBitmap m_bitmap;m_bitmap.Attach(hbmp);便可以转换为CBitmap对象HBITMAP MattoHBMP(cv::Mat & Image){ HBITMAP hb...原创 2020-04-09 21:11:22 · 1921 阅读 · 1 评论 -
【MFC】使用CMemDC解决图像显示闪烁问题
图像闪烁原因分析闪烁的原因是在快速频繁的 调整图像的显示内容时,总是要有一个操作便是刷新背景再填充图像,快速切换图像过程中背景与图像的强烈反差导致了闪烁的问题。闪烁解决方案 不刷背景 不刷新背景,只刷新前景图片可以有效的解决图像闪烁问题,但是随之而来的如果图像没有完整的覆盖目标区域,未覆盖区域...原创 2019-10-29 13:39:17 · 963 阅读 · 0 评论 -
【MFC】如何手动发送WM_SIZE系统消息
WM_SIZE作为系统的一个内置的核心消息,他是如何运作的呢? 通过本篇源码的解析 可以清楚的了解MFC内部消息的流向,这是作为C语言程序员理应了解的东西,以此消息为实例,我们便可以清楚的知道其他系统消息是如何运作的,对于MFC原理的了解以及灵活的实际应用来说有重大意义。原创 2019-10-28 09:21:11 · 3302 阅读 · 0 评论 -
MFC 如果使用向导添加控件ID
本环境使用的是VS2017版 前后版本应该没有太大变化.1.首先找到资源视图2.在资源视图找到你的工程 点击 资源符号3.添加资源ID如图所示位置 就能为自己的按键添加ID值了如有不足之处欢迎指正交流....原创 2019-09-06 09:16:21 · 651 阅读 · 0 评论 -
【MFC】如何自定义发送Control消息 COMMAND消息
为了自制一个搜索框,但是又不想自己写太多东西,这里我通过MFC自带的文本编(CMFCEditBrowseCtrl)实现搜索框功能搜索框组成结构:文本编辑框 点击按钮 效果如下图所示,可以很好的满足我的需求,但是在使用此类时发现按钮功能并没有给我作为消息发送出来,如果继承之后重写OnBrowse()在其内部进行搜索操作显然过于麻烦,因此我通过多方查找,在源码中找到内部ON_CONTR...原创 2019-09-06 09:01:31 · 1393 阅读 · 0 评论 -
CMFCEditBrowseCtrl CEdit 文本编辑控件
1继承关系CMFCEditBrowseCtrl >>>CEdit >>>CWnd >>>CCmdTarget官方说明文档地址:点击这里2.创建方法控件的使用必先有其对象 对象可以为其他成员变量 也可以为堆中的变量,使用指针等关系class XXX{/*省略无关配置*///定义一个成员CMFCEditBrowseC...原创 2019-09-03 12:36:09 · 971 阅读 · 1 评论