MFC
文章平均质量分 59
发如雪-ty
一个工作7年的程序员,一直从事C++开发方面的工作,曾有幸在安防行业深耕4年,并有幸在工业检测行业工作至今已有3年,主要负责系统软件的设计与开发,个人编程的信仰:不要盲目学习酷炫的东西,最重要的依然是内功。
展开
-
如何使用def创建一个dll
1.选择MFC DLL2.点击完成接下来看看怎么实现写dll.第一步先创建一本接口类,calcbase.h#pragma oncetypedef void * CallBackPara;//回调函数接收的参数typedef void(*pMessageCallback)(char* pMsg, CallBackPara param);//回调函数原型class calcbase{public: calcbase(){}; virtual ~calcbase(){}; //将原创 2021-06-22 23:02:40 · 390 阅读 · 1 评论 -
不使用向导自己搭建一个MFC程序
阅读此文,希望你对windows编程了解一些看下图,我就创建了两个文件:先看结果:接下来看看怎么实现:先看mfc.h:#include <afxwin.h>//应用程序类 class MyApp :public CWinApp{public: virtual BOOL InitInstance() override;};//框架类class MyFrame :public CFrameWnd{ //声明消息映射 DECLARE_MESSAGE_MAP()原创 2021-06-22 22:14:15 · 168 阅读 · 0 评论 -
c++读写串口
本文来自:https://wangbaiyuan.cn/c-serial-communication-write-reading.html 在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。 一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令转载 2021-05-11 11:06:25 · 9850 阅读 · 1 评论 -
SafeArrayAccessData,SafeArrayUnaccessData使用
SafeArray是VB中的数组存储方式。通过SafeArray,可以在VC++和VB间相互调用。SafeArray也是Automation中的标准数组存储方式。1. SafeArrayAccessData函数原型:HRESULT SafeArrayAccessData( SAFEARRAY * psa, void HUGEP ** ppvData);这个函数用于获取SafeArray的数据指针,并锁定SafeArray数组的数据。原创 2021-04-01 14:22:37 · 1417 阅读 · 0 评论 -
MFC中之GetProfileInt,WriteProfileString的使用
1.简介CWinApp类中提供了一组用于读写应用程序配置的方法:GetProfileIntWriteProfileIntGetProfileStringWriteProfileString可方便的用于读写应用程序配置。2.关于CWinApp::SetRegistryKey方法用VC++的向导建立MFC项目之后,在InitInstance中可以看到这样的语句:SetRegistryKey(_T(“应用程序向导生成的本地应用程序”));该函数将为以上提到的几个方法建立工作环境,此时如果用原创 2021-04-01 09:59:39 · 2092 阅读 · 0 评论 -
MFC之CPtrList的使用
CPtrList类支持void指针列表。CPtrList类的成员函数类似于CObList类的成员函数。由于这种类似性,可以使用CObList参考文档作为成员函数的说明。接下来我就在MFC中把使用步骤列出来,然后关于源码可以自己下载结果:...原创 2021-03-24 15:34:09 · 1075 阅读 · 0 评论 -
MFC中的线程同步之关键代码段
多个线程访问临界区时,可以使用临界区对象。临界区对象是一个独占性共享资源,任一时刻只有一个线程可以拥有临界区。拥有临界区的线程可以访问被保护起来的资源或代码段,其他希望进入临界区的线程将被挂起等待,直到拥有临界区的线程放弃临界区时为止。CCriticalSection类的用法:(1)定义CCriticalSection类的一个全局对象(以使各个线程均能访问):CCriticalSectioncritical_section;(2)在访问临界区之前,调用CCriticalSection类的成员函数L原创 2021-03-24 13:59:38 · 181 阅读 · 0 评论 -
关于WaitForSingleObject的理解
Windows提供了许多内核对象来实现线程的同步。对于线程同步而言,这些内核对象有两个非常重要的状态:“已通知”状态,“未通知”状态(也有翻译为:受信状态,未受信状态)。你可以通知一个内核对象,使之处于“已通知状态”,然后让其他等待在该内核对象上的线程继续执行。可以使用WaitForSingleObject函数来等待一个内核对象变为已通知状态: DWORD WaitForSingleObject(HANDLE hObject, //指明一个内核对象的句柄DWORD dwMilliseconds)原创 2021-03-20 17:20:29 · 2556 阅读 · 0 评论 -
SendMessage、PostMessage 2021-01-07
本文讲解SendMessage、PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级、中级、高级程序员进行理解,三个步骤分别为:1、SendMessage、PostMessage的运行机制。2、SendMessage、PostMessage的运行内幕。注:理解这篇文章之前,必须先了解Windows的消息循环机制。1、SendMessage、PostMessage的运行机制我们先来看最简单的。SendMessage可以理解为,SendMessage函数发送消息,等待消息处理转载 2021-01-07 22:56:33 · 303 阅读 · 0 评论 -
MFC消息映射机制
什么是窗口消息转自:http://www.jizhuomi.com/software/147.html窗口消息一般由三个部分组成:1.一个无符号整数,是消息值;(2)消息附带的WPARAM类型的参数;(3)消息附带的LPARAM类型的参数。其实我们一般所说的消息是狭义上的消息值,也就是一个无符号整数,经常被定义为宏。什么是消息映射机制MFC使用一种消息映射机制来处理消息,在应用程序框架中的表现就是一个消息与消息处理函数一 一对应的消息映射表,以及消息处理函数的声明和实现等代码。当窗口接收到消息时,会转载 2020-12-11 10:56:06 · 187 阅读 · 0 评论 -
MFC之GetDlgItemInt
UINT GetDlgItemInt( int nID, BOOL* lpTrans = NULL, BOOL bSigned = TRUE ) const;这个函数可以获得一个控件的文本按整形返回。 第二个参数指向一个布尔型的变量,用来接收转换的标记。但错误发生的时候,如果是非数字字符,或者超过指定长度,GetDlgItemInt会拷贝一个0到指针所指的位置,他将接收一个为假的值。如果没错误发生,他将接收一个非零值。如果我们设置第二个参数为NULL,那么GetDlgItemInt就不警告任何错误了。第原创 2020-09-19 10:44:19 · 1937 阅读 · 0 评论 -
MFC之自绘CListCtrl控件
MFC之自绘CListCtrl控件控件中,最值得注意的是列表头和身子都需要自绘,先看看我绘的结果吧,开发环境vs2013.no a pic say j8!还可以排序,直接点击列表头就可以实现如下图:分别点击序号、姓名、年龄序号:年龄:...原创 2020-04-20 22:27:54 · 1148 阅读 · 4 评论