![](https://img-blog.csdnimg.cn/20210303165647610.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MFC程序设计
文章平均质量分 70
MFC程序设计,Windows上的桌面开发向导
呆萌宝儿姐
CSDN专家博主、阿里云开发者社区专家博主、51CTO社区专家博主、360书馆认证博主、知乎掘金B站等平台受邀作者。
如遇开发、程序等需求,博客首页下拉加入公众号,私信博主
展开
-
OpenCV和MFC的超混沌图像加密
文章目录基于 openCV 和 MFC 的超混沌图像加密效果展示环境源代码Encryption_MFCDlg.h: 头文件Encryption_MFCDlg.cpp: 实现文件基于 openCV 和 MFC 的超混沌图像加密效果展示加载图像进行加密进行解密环境基于 openCV 与 MFC 的超混沌图像加密软件,openCV 提供图像读取、存储功能,通过 MFC 构建人机交互界面编译环境为 Visual Studio Community 2017OpenCV 库版本 opencv-原创 2022-01-30 15:49:33 · 4664 阅读 · 0 评论 -
MFC模拟 Windows 文件可视化系统
文章目录一、成果展示二、实现功能2.1 显示树形目录结构2.2 文件操作三、需求分析四、系统设计4.1 数据结构和存储结构的设计4.2 算法设计4.2.1 获取与删除目录: 递归算法五、开发环境六、项目链接一、成果展示二、实现功能2.1 显示树形目录结构根节点是“我的电脑”“我的电脑”下有几个盘符(C、D、E等)就有几个子节点,递归显 示文件系统下的所有文件信息(分支可以是目录也可以是文件,叶 子节点都是文件)2.2 文件操作能够创建目录、创建文件、删除目录、删除文件、复制文件、原创 2022-01-09 10:19:11 · 3484 阅读 · 0 评论 -
MFC 树形控件CTreeCtrl类
树形控件的创建 MFC为树形控件提供了CTreeCtrl类,它封装了树形控件的所有操作。 树形控件的创建也是有两种方式,一种是在对话框模板中直接拖入Tree Control控件创建,另一种就是通过CTreeCtrl类的Create成员函数创建。下面主要讲后者。 CTreeCtrl类的Create成员函数的原型如下: virtual BOOL Create( DWORD dwStyle, const RECT& rect,原创 2022-01-08 23:17:15 · 3336 阅读 · 1 评论 -
MFC HTREEITEM句柄
HTREEITEM含义首先,HTREEITEM其实就是CTreeCtrl控件的项句柄,也就是一个DWORD值作用用于给树控件添加、查询、删除项目,在树中唯一标识一个节点。运用它的值对于程序员其实没有什么意义,只是可以通过它找到一个节点,从而取得节点的属性,如GetItemText(HTREEITEM hItem) ;或对节点进行某些操作,如删除节点DeleteItem( HTREEITEM hItem );...转载 2022-01-08 21:06:46 · 698 阅读 · 0 评论 -
MFC GetFileAttributes函数
文章目录GetFileAttributes函数功能:函数原型参数返回值函数成功返回值属性列表GetFileAttributes函数功能:函数GetFileAttributes为一个指定的文件或目录返回文件系统的属性。可以使用GetFileAttributesEx 函数获得更多的属性信息。如果要实现交互式操作,可以使用GetFileAttributesTransacted函数。函数原型DWORD WINAPI GetFileAttributes( __in LPCTSTR lpFileName原创 2022-01-07 19:43:40 · 2115 阅读 · 0 评论 -
MFC文件之SHGetFileInfo函数与SHFILEINFO结构体
文章目录SHFILEINFO 结构体作用:定义成员SHGetFileInfo函数作用:函数原型参数SHFILEINFO 结构体作用:SHFILEINFO包含一个文件的信息。定义typedef struct _SHFILEINFO { HICON hIcon; int iIcon; DWORD dwAttributes; char szDisplayName[MAX_PATH]; char szTypeName[80];} SHFILEINFO;成员hIcon:代表文件的图标的句原创 2022-01-07 10:32:08 · 2433 阅读 · 0 评论 -
MFC 树型视图三个结构:TVINSERTSTRUCT、TVITEM、NMTREEVIEW
文章目录TVINSERTSTRUCT成员TVITEM成员NMTREEVIEW成员下面是树型视的三个结构TVINSERTSTRUCT、TVITEM、NMTREEVIEWTVINSERTSTRUCT包含添加新项到树形视控件所使用的信息。这个结构被TVM_INSERTITEM消息使用。这个结构与TV_INSERTSTRUCT结构是一样的,但它已经按当前的命名习惯重命名了。typedef struct tagTVINSERTSTRUCT { HTREEITEM hParent; HTREEITEM h原创 2022-01-07 03:45:00 · 2289 阅读 · 0 评论 -
MFC CFileFind类用法总结
文章目录简介头文件:功能:本地文件查找API构造函数成员函数查找操作类:FindFile():FindNextFile():获得文件属性类:GetCreationTime():GetLastWireTime();GetFileName();GetRoot();GetFilePath();GetFileTitle();GetFileURL();GetLength();判断文件属性类:IsArchived();IsCompressed();IsDirectory();IsDots();IsHidden();Is原创 2022-01-06 23:02:08 · 2658 阅读 · 0 评论 -
MFC FILETIME和CTime相互转换的处理
FILETIME和CTime相互转换的处理方法:FILETIME转CTime的方法:1、CTime对象在初始化时可以传递FILETIME结构FILETIME ft; CTime time(ft); 2、将FILETIME转换为SYSTEMTIME,然后CTime对象在初始化时可以传递SYSTEMTIME结构FILETIME ft; SYSTEMTIME st; BOOL bSuccess = ::FileTimeToSystemTime(&ft , &st); CTime原创 2022-01-06 22:50:06 · 2272 阅读 · 0 评论 -
基于MFC的图书管理系统(上古项目)
文章目录1、系统介绍1.1 系统功能介绍1.2 环境2、系统详细设计思路3、系统运行展示5、项目链接很多人说 mfc俗称没饭吃,咱也不知道这篇文章还有多少人支持。1、系统介绍1.1 系统功能介绍图书馆需要对大量的图书信息进行处理,利用C++文件存储的应用来实现对图书,作者信息,图书借阅信息的添加、修改、删除、查询等常用功能。1.2 环境开发软件:Visual Studio 2017运行平台:Windows系统2、系统详细设计思路两大步骤:数据存储分析代码编写以及功原创 2021-11-19 18:01:24 · 3980 阅读 · 52 评论 -
MFC通讯系统项目(未完成)
成品链接操作步骤https://yangyongli.blog.csdn.net/article/details/117362102原创 2021-06-01 23:01:32 · 2601 阅读 · 0 评论 -
MFC通讯系统项目——操作步骤
通讯系统操作步骤配置与日志另附:关于说明本产品为内部测试产品,在通讯过程中将IP地址与各个端口的连接也展示出来以便测试过程中更好的理解通信过程(在实际应用推广过程中则会简便通信IP 与 端口的选择)操作步骤1、首先要获取当前服务器的IP地址,在服务机上按下win+r,输入cmd回车,在输入ipconfig回车,找到服务器IP 输入到客户端的服务器IP地址栏中。2、输入服务器开放端口,服务端点启动服务,客户端输入服务器IP与开放端口点击连接服务即可与服务端建立连接。3、按照图中步骤1进行操作可以原创 2021-05-28 14:38:44 · 2833 阅读 · 0 评论 -
MFC的Serialize机制及其使用
MFC提供了非常方便的串行化函数Serialize()。利用这个机制可以很方便的对文档进行存取和读取。Serialization就是面向对象世界里面的永久生存机制,对象必须能够永久生存,也就是他们必须能够在程序结束时存储到文件当中,并且能够在程序重新激活时在恢复过来,存储和恢复对象的过程在MFC称之为Serialization,负责这项重要任务的是MFC Object类中的一个名为Serialize()的虚函数,文件的读写操作均通过它来方便的完成。可以先了解下...原创 2020-06-11 16:48:16 · 5094 阅读 · 0 评论 -
Windows——CArchive类
CArchive 对象提供了一个类型安全缓冲机制,用于将可序列化对象写入 CFile 对象或从中读取可序列化对象。通常,CFile 对象表示磁盘文件;但是,它也可以是表示“剪贴板”的内存文件(CSharedFile 对象)。...原创 2020-06-11 16:44:46 · 4386 阅读 · 0 评论 -
DECLARE_MESSAGE_MAP() 等消息映射宏以及 afx_msg消息映射函数
DECLARE_MESSAGE_MAP()宏的作用是向类中添加消息bai映射必要的结构体和du函数声明,只需要添加一次,放在什么位置并不重要,就如同类里其他普通函数的声明可以相互交换顺序一样。函数的修饰符也是可以自己决定的,遵循一般原则。比如你需要在类外部也可以调用该消息响应函数,就可以定义成public的。但是其实真正的消息映射是在cpp文件里面的BEGAIN_MESSAGE_MAP()END_MESSAGE_MAP()这两个宏之间比如:h:cpp:如上大体意思就是:只要是CCmdT原创 2020-06-08 10:08:14 · 5545 阅读 · 0 评论 -
Windows网络通信流量和网速监控设计(二)
结果视图:.h代码:#pragma once#include "afxwin.h"#define WMMY_NETWORKER_MESSAGE WM_USER+100// CMyNetCheckSystemDlg 对话框class CMyNetCheckSystemDlg : public CDialogEx{// 构造public: CMyNetCheckSystemDlg(CWnd* pParent = NULL); // 标准构造函数// 对话框数据 enum {原创 2020-06-01 20:26:11 · 4657 阅读 · 0 评论 -
Windows网络通信流量和网速监控设计(一)
文章目录三种数据通信传输模式一、单工通信二、半双工通信三、全双工通信相关基础知识1、__stdcall2、三种数据通信传输模式一、单工通信数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送数据信息,不能实现双向通信。比较安全,例如:广播、电视。二、半双工通信传输允许数据在两个方向上传输;在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送消息,可以实现双向通信。例如:对讲机。三、全双工通信数据通信允许数据同时在两个方向上传输原创 2020-06-01 19:40:20 · 5527 阅读 · 0 评论 -
宏定义WM_USER,与自定义宏WM_USER+100
一、WM_USER为了防止用户定义的消息ID与系统的消息ID冲突,MS(Microsoft)定义了一个宏WM_USER,小于WM_USER的ID被系统使用,大于WM_USER的ID被用户使用。二、自定义宏 #define 宏名 WM_USER+100例如:#define WM_MY_TRAY_NOTIFICATION WM_USER+100Windows 利用C API编写的宏指导语句语法意思是:用 {WM_USER+100} 替换 {WM_MY_TRAY_NOTIFICATION}单元语义原创 2020-05-29 15:33:25 · 6047 阅读 · 1 评论 -
ADO与ODBC用法
一、概念ODBCODBC 是 开放式数据库互连 是一些标准规范符合规范的数据库就可以通过SQL(结构化查询语言)编写的百命令进行操作.理解ODBC是种数据库互连标准就行了,WINDOWS中ODBC配置,只是对数据库进行系统中登记操作一样,不起任何数据服务作用.OLE DBOLE DB 是 数据库嵌入对象,是一套度组件对象模型 (COM) 接口,可提供对存储在不同信息源中的数据进行统一访问的能力。即:通过这个对象可以对数据库操专作属.但他只是数据库的一个接口.因为要统一许多接口,它接口也变的复杂繁多,原创 2020-05-28 19:09:44 · 4456 阅读 · 0 评论 -
IP地址和账号密码之间的关系
IP地址相当于是每一个计算机唯一的身份证号码,就象你的身份证一样,每个人的号码都不一样的,不可能有其他人的身份证号码也跟你一样的,处于局域网的环境中,例如你的计算机的ip设置是192.168.2.10而另外一台计算机的ip也设置成192.168.2.10,那么就会导致ip与其他系统冲突。IP地址是指互联网协议地址,它是网络给主机分配的逻辑地址,以此屏蔽物理地址差异。先说一下IP地址的获取方式,自己手动指定(静态IP),通过DHCP服务器下发(动态获取)。局域网中使用静态IP:当你手动指定IP时,刚好别先手原创 2020-05-26 18:46:13 · 5615 阅读 · 1 评论 -
MFC+SQL Server项目——MFC+ADO操作数据库中的数据
一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。在Microsoft Visual Basic编辑器中,可以使用ADO对象以及ADO的附加组件(称为Microsoft ADO Extensions for DLL and Security(ADOX))来创建或修改表和查询、检验数据库、或者访问外部数据源。还可在代码中使用ADO来操作数据库中的数据。...原创 2020-05-26 18:39:55 · 4974 阅读 · 0 评论 -
MFC中如何给子对话框添加图标
1、先打开类向导为子对话框添加OnInitDialog() 成员虚函数2、子对话框属性中选中style->Title bar改为true3、导入对应的图标到文件中;4、在子对话框OnInitDialog() 中写入以下代码://创建图标HICON icon;//加载图标icon = AfxGetApp()->LoadIcon(IDI_LOG_ICON);SetIcon(icon,true);SetIcon(icon,false);5、完成子对话框中图标的添加...原创 2020-05-20 18:15:36 · 5539 阅读 · 2 评论 -
Windows 网络通信套接字技术
一、TCP/IP介绍1、TCP/IP体系结构TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输 层服务,而IP则是提供网络层服务。TCP/IP协议包括如下协议,其结构如图所示。IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。 同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。ARP: ...原创 2020-04-05 15:59:24 · 4518 阅读 · 1 评论 -
USES_CONVERSION宏定义
USES_CONVERSION是用来转换类型的(比如T2A等转换需用此宏),比如我们很常见的问题:在Socket编程时候,我们的IP地址从界面上输进去一般都使用CString类型的,可是在SOCKADDR_IN中的inet_addr却是const char *我们就不能直接用CString来用。我们就可以使用T2A()宏了。 SOCKADDR_IN localaddr; ...原创 2020-04-01 16:02:12 · 4877 阅读 · 1 评论 -
A2W W2A A2T T2A _T() 含义以及用法
A2W、W2A、A2T、T2A _T() 的含义及使用方法1、A2W和W2A在《Window核心编程》,多字节和宽字节之间转换比较麻烦的,MultiByteToWideChar函数和WideCharToMultiByte函数有足够多的参数的意义让我们去理解。那么使用ATL的一个很好的字符串的转换宏:A2W和W2A。char:8位字节类型,表示ASCII码WCHAR:16位字符类型,表示Un...原创 2020-04-01 15:45:08 · 5914 阅读 · 0 评论 -
Windows套接字CAsyncSocket类的使用
TCP编程的服务器端一般步骤是:1、创建一个CAsyncSocket或CSocket类或其子类对象A,用于监听客户端连接,然后通过Create函数设定端口号和协议类型为SOCK_STREAM。2、开启监听,用函数Listen();3、接收客户端上来的连接,用函数Accept(&B);并且把连接连接的对象存到B中,以便通信使用。4、当客户端发送来消息时,会触发OnReceive函数...原创 2020-04-01 14:51:26 · 3842 阅读 · 0 评论 -
Windows套接字——读取和写入配置文件
写入配置文件 CString IP, Port; UpdateData(TRUE); // 将应用程序控件上面的IP和端口 更新至对应的成员变量 IP = m_IpAddress.GetString(); // 读取成员变量控件上面的IP地址将赋给strIP变量 Port.Format(L"%d", m_iPort); // 读取成员变量控件上面的端口将赋给m_iPort变量 Wri...原创 2020-03-29 18:12:16 · 3581 阅读 · 0 评论 -
Windows程序设计打开另一个程序的三种方法
均已打开 记事本(notepad)为例注意:打开其他程序时有的方法不可行,可都使用一遍进行测试1、创建一个新线程打开应用 PROCESS_INFORMATION processInfo; char dir[MAX_PATH] ; char cCmdLine[MAX_PATH]; DWORD dwExitCode; STARTUPINFO si = { sizeof(si) };...原创 2020-03-27 16:28:21 · 5917 阅读 · 0 评论 -
MFC学习——下检测计算机是否联网
一个最简单的类方法:Bool IsNetworkAlive( __out LPDWORD lpdwFlags);返回TRUE表示联网,FALSE表示未连接到网络。使用时注意在头文件中加入如下代码:#include <Sensapi.h>#pragma comment(lib, "Sensapi.lib")函数使用举例: DWORD ws;...原创 2020-03-19 14:09:42 · 3849 阅读 · 0 评论 -
MFC学习——如何在MFC对话框中添加一个显示网页的窗口(用vs2017以下版本,vs2017不支持)
(用vs2017以下版本,vs2017不支持)标题这个要用到 ActiveX 控件了,向对话框里面插入一个 WebBrowser控件,之后使用就可以了!=============================利用Web Browser控件创建自己的浏览器①新建一个基于对话框的工程,命名为test,然后在对话框上单击右键,选择Insert ActiveX Control…在弹出的对话...原创 2020-03-18 18:05:46 · 4045 阅读 · 2 评论 -
MFC应用程序(控件集合)——标签控件_IP控件_时间控件_List Control控件_Tree Control控件_命令按钮_列表框_组合框_图片_滚动控件
标签控件应用【Tab Control 标签控件】 标签控件也比较常见。它可以把多个页面集成到一个窗口中, 每个页面对应一个标签,用户点击某个标签时,它对应的页 面就会显示。 使用标签控件我们可以同时加载多个有关联的页面,用 户只需点击标签即可实现页面切换,方便灵活的进行操作。 每个标签除了可以显示标签文本,还可以显示图标。 标签控件相当于是一个页面的容器,可以容纳多个对话 框,而且一般也只容纳对...原创 2020-03-12 16:30:28 · 4465 阅读 · 1 评论