![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
lidandan2016
这个作者很懒,什么都没留下…
展开
-
DECLARE_MESSAGE_MAP( )用法
DECLARE_MESSAGE_MAP( ) 说明: 你的程序中的每一个CCmdTarget的派生类都可以提供一个消息映射以处理消息。在你的类声明的末尾使用DECLARE_MESSAGE_MAP宏。然后,在实现了类成员函数的.CPP文件中加入BEGIN_MESSAGE_MAP宏,再加入每个消息处理函数的宏入口,最后使用END_MESSAGE_MAP宏。 注意: 如果你在DE转载 2017-05-19 16:05:59 · 681 阅读 · 0 评论 -
MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
在 开发过程中经常需要获得程序当前的运行目录,这时就可以使用GetCurrentDirectory()和GetModuleFileName()函 数,GetCurrentDirectory只是返回当前进程的当前目录,而并不是进程的镜像文件(.exe)所在的目 录,GetCurrentDirectory()适用于XP等系统,,在WinCE上不能使用,GetModuleFileName()适用于 Wi...转载 2019-07-08 20:43:41 · 556 阅读 · 0 评论 -
MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
在 开发过程中经常需要获得程序当前的运行目录,这时就可以使用GetCurrentDirectory()和GetModuleFileName()函 数,GetCurrentDirectory只是返回当前进程的当前目录,而并不是进程的镜像文件(.exe)所在的目 录,GetCurrentDirectory()适用于XP等系统,,在WinCE上不能使用,GetModuleFileName()适用于 Wi...转载 2019-07-08 20:40:56 · 864 阅读 · 0 评论 -
MFC自定义消息的实现方法----(线程向主对话框发送消息)
在MFC中,我们一边在使用多线程时,经常会遇到在需要调用到新建的控件,此时建议不要在新建的线程中直接调用主对话框的控件,我们可以通过自定义消息,在新建线程中发送并触发主线程进行相关的界面控件操作。以Dialog对话框程序为例,添加自定义消息的操作方法可以如下所示:1.在头文件stdafx.h中添加一个自定义消息宏:#define WM_USER_MSG_HDL (WM_USER...原创 2019-06-11 10:42:09 · 2113 阅读 · 0 评论 -
MFC 获取当前程序运行目录
//--------------方式1CString SetSoftDlg::GetCurrentPath(){ char lpExePathName[255]; char lpExePath[255]; char lpExeName[255]; char ExeDrive[10]; char exeExt[10]; GetModuleFile...原创 2019-02-11 21:34:00 · 462 阅读 · 0 评论 -
MFC:快速设置控件文本字体、大小、颜色、背景
以静态文本为例,分享一下怎么修改文本字体、大小、颜色、背景等参数。其他文本、控件等可参照修改。1.修改字体、大小这个很简单,首先在Dlg类中声明一个CFont类型的成员变量: 然后在类的初始化函数OnInitDialog()中添加以下两行代码: //设置静态文本字体大小 m_editFont.CreatePointFont(180, _T("宋体"));...原创 2019-01-12 23:03:43 · 21661 阅读 · 0 评论 -
PeekMessage完美解决MFC主界面无响应
一般主界面无响应的解决方案是,对于计算量过大的方法,另开工作者线程,如下: MFC支持两种线程:用户界面线程和工作者线程。(1)用户界面线程:通常用于处理用户输入,响应由用户产生的事件和消息。用户界面线程通常有窗口,有自己的消息循环。CWinApp是一个用户界面线程对象的例子,因为它是从CWinThread派生出来的,而且要处理用户产生的事件和消息。(2)工作者线程:通常用于处...转载 2019-01-01 23:41:46 · 4007 阅读 · 1 评论 -
【整理】Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR
【整理】Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTRL表示long指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用,没有实际意义。即win32中,long,near,far指针与普通指针没有区别,LP与P是等效的。转载 2017-06-07 15:50:13 · 744 阅读 · 0 评论 -
AfxBeginThread 传参
用MFC开发时,经常会用到多线程,它的启动方式就是通过AfxBeginThread这个方法来创建,然后启动,比如标准的方式: CWinThread *pthread = AfxBeginThread(方法名, (LPVOID) 入参, THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED); 入参就是传给执行方法的参数,这里只能传一个参原创 2017-06-07 11:23:14 · 1280 阅读 · 0 评论 -
串口流控制(flow control)
我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何作用,在编制串行通讯程序怎样应用呢?这里我们就来谈谈这个问题。 1.流控制在串行通讯中的作用 这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时转载 2017-06-06 15:05:47 · 2518 阅读 · 0 评论 -
串口的一点知识(摘抄)
第一章 背景知识1. 概述串口是计算机上I/O接口的一种,要掌握串口通信编程的相关知识,必须先了解I/O接口的相关知识。I/O接口是接口的一种。2. 什么是接口?众所周知计算机是由CPU,存储器,外部终端设备组成.接口就是用于CPU与外部设备、存储器的连接和数据交换的设备。3. 接口分类.广义的计算机接口有二种,见下表:类別 用途 电路实现复杂性存储器接转载 2017-06-06 14:36:07 · 2474 阅读 · 0 评论 -
串口程序中函数使用WaitCommEvent、ClearCommError、GetcommMask
在串口程序中的几个函数的联合使用一、首先是利用WaitCommEvent来等待串口事件的被触发,这些事件是指在该函数被调用前,我们自己设置好的能触发串口线程的有效事件。主要包括3类事件: 1.函数SetCommMask (ceSeries->m_hComm, EV_RXCHAR |EV_CTS | EV_DSR )设置的数据接收中断 2.用户中断线程的操作。 3.转载 2017-06-06 12:11:03 · 11025 阅读 · 0 评论 -
WaitForSingleObject与WaitForMultipleObjects用法详解
在多线程下面,有时候会希望等待某一线程完成了再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleObjects。这两个函数都会等待Object被标为有信号(signaled)时才返回的。那么,什么是信号呢?简单来说,Windows下创建的Object都会被赋予一个状态量。如果Object被激活了,或者正在转载 2017-06-06 11:44:02 · 780 阅读 · 0 评论 -
Visual Leak Detector (VLD)使用
Visual C++内置内存泄露检测工具,但是功能十分有限。VLD就相当强大,可以定位文件、行号,可以非常准确地找到内存泄漏的位置,而且还免费、开源!在使用的时候只要将VLD的头文件和lib文件放在工程文件中即可。也可以一次设置,新工程就不用重新设置了。只介绍在Visual Studio 2003/2005中的设置方法,VC++ 6.0类似:打开Tools -> Optio原创 2017-06-05 17:10:34 · 983 阅读 · 0 评论 -
C++信号量Semaphore和MFC中的CSemaphore类使用
C++ 信号量Semaphore 和MFC 中的CSemaphore 类使用【转】信 号量(Semaphore )内核对象对线程的同步方式与前面几种方法不同,它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最 大线程数目。在用CreateSemaphore() 创建信号量时即要同时指出允许的最大资源计数和当前可用资源计数。一般是将当前可用资源计数设置为最转载 2017-06-05 15:05:58 · 934 阅读 · 0 评论 -
MFC里面RC资源编辑器不能打开的解决办法
MFC里面RC资源编辑器不能打开的解决办法 MFC的RC文件在编辑器下打不开了,提示"This file is already open in a editor.",然后显示的就是代码,对话框、菜单什么的都显示不了,解决方法: 在上面所述的情况下关闭所有打开的文件,就搞定了原创 2017-05-19 17:59:31 · 5352 阅读 · 2 评论 -
MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
在 开发过程中经常需要获得程序当前的运行目录,这时就可以使用GetCurrentDirectory()和GetModuleFileName()函 数,GetCurrentDirectory只是返回当前进程的当前目录,而并不是进程的镜像文件(.exe)所在的目 录,GetCurrentDirectory()适用于XP等系统,,在WinCE上不能使用,GetModuleFileName()适用于 Wi...转载 2019-07-08 20:44:42 · 308 阅读 · 0 评论