![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MFC精选小知识
文章平均质量分 61
曾经七八年时间 一直使用MFC,这里记录下用过的知识点
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
清水迎朝阳
多年windows下c++客户端开发,或多或少踩了很多坑,积累了一些经验
展开
-
监听U盘插入 拔出 消息,获得U盘盘符
目录一、U盘插拔消息监听1、顶层窗口监听WM_DEVICECHANGE消息2、WM_DEVICECHANGE 详细参数描述3、获得插入、删除时的盘符4、枚举所有U盘U盘是一种USB设备,监听USB网上资料还挺多的这里针对我自己的应用,来监听U盘的插拔信息。当计算机设备,或硬件配置发声变化时,会向顶层窗口发送 WM_DEVICECHANGE 消息。下面是我监听U盘插拔的逻辑。所需头文件1、顶层窗口监听WM_DEVICECHANGE消息WM_DEVICECHANGE 消息 (Winuser.h)原创 2022-08-08 17:11:57 · 975 阅读 · 0 评论 -
枚举系统内 中文字体
在MFC中,提供了字体控件,可以在对话框中,直接添加字体控件。这里简单的通过UNICODE编码来判断。在字体控件中,提供了所有系统字体的列表。原创 2022-07-18 11:02:17 · 182 阅读 · 0 评论 -
edge浏览器 路径获得
目录一、浏览器路径1、edge浏览器1)、edge默认安装位置2)、edge注册表中 位置2、IE浏览器1)、默认安装位置2)、注册表中位置二、程序中获得1、思路1)、首先判断是否64位系统2)、获得系统盘路径,进而获得浏览器默认路径位置3)、如果默认位置不存在,则查找注册表2、详细代码1)、获得edge路径2)获得IE路径 2)、获得系统盘路径,进而获得浏览器默认路径位置3)、如果默认位置不存在,则查找注册表注册表读取示例代码......原创 2022-07-05 11:40:31 · 931 阅读 · 0 评论 -
三层窗口层次 设置
目录第一种 层次关系1、底层窗口2、第三方窗口3、第三方窗口之上 可拖动小窗口4、优点缺点第二种 层次关系1、底层窗口2、第三方窗口3、第三方窗口之上 可拖动小窗口4、优点缺点项目中,要调用第三方进程窗口,显示的时候, 最下层为 自己的窗口, 上层为 第三方进程 窗口,最上层 为一个可拖动小窗口测试发现,下面两种层次关系较为稳定,在点击一个窗口时,不会引起层级变化。第一种 层次关系1、底层窗口void CefNativeForm...原创 2022-05-10 16:51:14 · 601 阅读 · 0 评论 -
修改注册表方式,设置DPI系统增强
Disable DPI-awareness for scaling in forms - Visual Studio (Windows) | Microsoft DocsAdd a registry entryYou can mark Visual Studio as DPI-unaware by modifying the registry. OpenRegistry Editorand add an entry to theHKEY_CURRENT_USER\SOFTWARE\Mi...原创 2022-03-29 17:33:28 · 2548 阅读 · 0 评论 -
文本读写示例
目录一、写文件1、CFile写入2、CStdioFile 写入一行行数据3、FILE 写入二、文件读取1、File读取示例2、CFile读取文件内容一、写文件1、CFile写入示例1、 CString htmlStr =L"<html></html>"; CFile nFile_Save; CString strFilePath=g_strPath+_T("听小说.html"); nFile_Save.Open(原创 2022-03-18 11:16:20 · 142 阅读 · 0 评论 -
控制第三方进程主窗口的位置及跟随移动
目录一、打开第三方进程,获得主窗口句柄1、CreateProcess 启动第三方进程2、获得第三方进程主窗口句柄二、获得主窗口句柄后的操作1、初始位置2、响应WM_MOVE一、打开第三方进程,获得主窗口句柄核心代码如下:1、CreateProcess 启动第三方进程 bool CreateMyProcess(std::wstring subExe) { std::wstring subExeDir; int nIndex = subExe.rf..原创 2022-03-08 18:32:55 · 435 阅读 · 0 评论 -
CScrollView 隐藏垂直滚动条 方法
查了很多资料,但是都不能实现这个功能后来终于自己调试出来了。而且实现了动态隐藏与显示,并且不影响鼠标滚动响应。效果如下:一、不见效果的ShowScrollBar微软文档提及使用ShowScrollBarvoid ShowScrollBar(UINT nBar, BOOL bShow = TRUE);使用这个来控制滚动条显示与隐藏,但是当你做如下隐藏时,会很失望的发现,一点效果也没有。ShowScrollBar(SB_VERT, false); 1、在...原创 2021-08-22 20:01:31 · 405 阅读 · 0 评论 -
使用CStdioFile 读写UNICODE文档
一:写文档1 创建文档并写入内容 CString filePath=L"C:\\unicode.txt"; CStdioFile wfile; if (!wfile.Open(filePath,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary)) { AfxMessageBox(L"文件无法修改");原创 2011-11-21 14:53:14 · 7137 阅读 · 0 评论 -
C++ 文件读取方式
1 使用FILE读取 FILE *fp=_tfopen(szXmlFilePath,L"rb"); if (fp==NULL) return; fseek(fp,0,SEEK_END); UINT nLen=ftell(fp); fseek(fp,0,SEEK_SET); // 宽字符类型 wchar_t* pStr_Read = new原创 2012-10-12 14:50:16 · 1341 阅读 · 0 评论 -
CTreeCtrl 控件使用总结
一 基础操作1 插入节点1)插入根节点 //插入根节点 HTREEITEM hRoot; CString str=L"ROOT" hRoot=nTreeCtrl.InsertItem(str); //相当于 hRoot=nTreeCtrl.InsertItem(str,TVI_ROOT,TVI_LAST);2)插...原创 2018-05-06 09:02:51 · 45821 阅读 · 15 评论 -
读写INI文件
写INI文件: //写INI文件 CString pathSet; pathSet=m_exePath+L"UnionPicSet.ini"; CString leftMargin,rightMargin,topMargin,bottomMargin,middleMargin; leftMargin.Format(L"%d",m_LeftMargin); right原创 2012-03-09 14:04:40 · 1082 阅读 · 0 评论 -
MFC 40多个小知识总结
1 vs2005 中 垂直删除列的快捷键为: ALT+AALT+SHIFT+ENTER 全屏 转换。。。。。。 用了这么久VS2005了 ,现在才知道有全屏编辑这个功能,鄙视一下:》ALT+SHIFT+方向键原创 2011-07-27 17:02:06 · 3342 阅读 · 1 评论 -
CString用法总结
1 CString中 保存着 路径+文件名 如: c:\目录\file.txt获得目录和文件名的方法: CString path=_T("c:\\目录\\file.txt"); CString directory; CString fileName; int i=path.ReverseFind(_T('\\')); directory=path.Left(i+原创 2012-10-23 09:21:17 · 9783 阅读 · 0 评论 -
橡皮筋类的使用
一:使用橡皮筋类CRectTracker,可以使的被选择的区域,通过鼠标来移动或缩放,并且不会发生闪烁现象。如果想实现图片的移动和缩放的话, 使用响应down、up、move是一种方法,不过这种方法通常闪烁的很厉害,而更好的方法的就是用橡皮筋类来实现,直接将图画到橡皮筋内部去第一步:定义类变量 CRectTracker m_RectTracker;原创 2011-08-05 14:56:12 · 5040 阅读 · 2 评论 -
枚举系统字体的COMBOX例子
1 设置组合框控件变量 DDX_Control(pDX, IDC_COMBO1, m_FontList); // 当前字体名称 CString m_selFont;2 声明CALLBACK函数 注意:此函数为全局函数,而不是类函数BOOL CALLBACK AFX_EXPORT EnumFamScreenCallBackEx(ENUM原创 2012-01-10 10:00:21 · 2476 阅读 · 2 评论 -
CMap 集合类使用
一:功能要求: 需要保存单个的汉字,并且不可重复。 此功能可通过CMap容器完成。 1) 定义 //常用字占两个字节 CMap m_AddCharMap; //偏僻字占四个字节 CMap m_AddPossibleCharMap;2)设置元素 打开文本,读入常用汉字 CStdioFile原创 2012-05-08 17:37:58 · 3664 阅读 · 0 评论 -
用鼠标拖动图片移动
拖动图片要响应3个鼠标消息OnLButtonDown,OnLButtonUp,OnMouseMove左键按下时: 要判断是否在图像内部按下的,若是捕获图片左键释放时:释放图片鼠标原创 2011-07-29 15:23:22 · 6591 阅读 · 0 评论 -
WM_IME_CHAR 与WM_CHAR的区别
要理解二者的区别,首先需要清楚: 我们通过键盘所打的字,并不都是全部通过输入法后,转交给程序的。 也就是说: 我们用键盘打的字有些是不经过输入法直接传送到程序中,如1、2、3这样的数字 还有ABC英文字母,回车 空格等有些是经过输入法转交给程序的,如中文 明白这点后,WM_IME_CHAR与WM_CHAR原创 2012-06-20 16:24:39 · 18541 阅读 · 2 评论