MFC积累
文章平均质量分 62
三公子Tjq
三少爷的剑:剑气纵横三万里,一剑光寒十九洲!
展开
-
CString转int(_ttoi(CString))
一、将CString变量转化为int整形变量,用函数_ttoi(*wchar),函数返回值为int整数。1.1下面示例将CString中(*wchar)8,转化为(int)8CString Temp("8");int ComNum = _ttoi(Temp); //CString转int原创 2017-11-17 11:26:12 · 9675 阅读 · 0 评论 -
MFC定义string变量
一、string变量在c++中定义步骤:1. 声明头文件和名字空间#includeusing namespacestd; //注意,一定要加分号符; 2. 进行了头文件预定义和命名申明后,就可以直接定义string变量了string str,stri= “STRING”; CString 这是MFC中的字符串操作类.CStringstr="str原创 2017-11-16 18:39:07 · 7278 阅读 · 0 评论 -
串口控件发送数据初始化设置(MFC-串口控件发送字符串)
串口控件发送数据初始化设置: 1,打开串口按钮初始化设置void CSerialPortDlg::OnBnClickedButtonOpen() //发送按钮程序初始化{ //TODO: 在此添加控件通知处理程序代码 if(m_mscomm.get_PortOpen()) //r如果串口是打开的,则关闭串口原创 2017-11-16 18:03:23 · 4668 阅读 · 0 评论 -
c++/MFC类的声明和定义
在头文件(*.h)class Test{ UINT a1;int b1; Void test();} 在源文件(*.cpp)viod Test::test(){ ******;}接着在其它文件调用Test类时,现在其余文件的头文件进行该类的初始化 在头文件(APP.h)//初始化程序Test Sc原创 2017-11-16 17:55:14 · 3640 阅读 · 0 评论 -
MFC注册控件用法
自己建立一个MFC空间,步骤如下:一、 将CUSTOM控件拖入方框,然后在属性class中,给控件命名ID1(注册函数需要用到ID端号RegisterWindowClass())二、给控件添加一个类,该类是用来申明和定义注册函数RegisterWindowClass()2.1在控件上单击鼠标右键—Class Wizard—Add ClassClass name:SCOM原创 2017-11-16 18:21:31 · 1562 阅读 · 0 评论 -
c++编译提示:系统找不到指定路径
一、 错误:系统找不到制定文件原因分析:编译成功后,要启动之前编好的*.exe程序,系统找不到路径,所以提示路径出错。 解决办法步骤:1.1在工程Properities属性打开,如图11.2依次点击Configuration Properties——General——Ouput Directory在Gerneral选项中的Ouput Dir原创 2017-11-16 18:31:03 · 19228 阅读 · 2 评论 -
非模态对话框和模态对话框_创建
一、非模态对话框:创建后,主程序还可以运行。创建步骤如下:1.1先建立一个基本对话框MFC工程,在资源列表添加一个对话框资源1.2将创建的对话框修改名字和ID,比如将ID名为:IDD_TIP_DIALOG 1.3给对话框添加一个类,类名称为:TipDlg。(注意:TipDlg类的基类为CDialog)则在解决方案列表可以看到创建了一个TipDlg.h原创 2017-11-16 21:15:42 · 6989 阅读 · 0 评论 -
从DWORD获得4个BYTE
一、DWORD数据可以通过右移运算,然后强制BYTE类型转换,来获得四个字节,程序如下:DWORD PlcIpDWord = 3232241352 ;//DWORD类型IP地址 BYTE Byte0, Byte1, Byte2, Byte3; Byte0 = (BYTE)(PlcIpDWord >> 24); //获得192地址 Byte1 = (BYTE)(PlcIp原创 2017-11-17 09:35:04 · 2560 阅读 · 0 评论 -
静态调用的dll的一个实例(PLC snap7)
本实例主要分为三部分。第一部分:vs2013的配置,第二部分:snap7的dll常用函数何功能的介绍。第三部分:调用snap7的是一个实例应用。一、vs2013配置1.1 将文件snap7.h,snap7.cpp,snap7.dll,snap7.lib全部加入创建工程的目录下,其中将snap7.dll放入debug目录下。1.2将snap7的dll加入新建的...原创 2017-11-17 09:49:18 · 6267 阅读 · 24 评论 -
MFC调用库文件函数pragma comment()
一、c++动态库的静态调用方法:必须有库文件,动态库,头文件(.lib和.dll以及.h)三个文件才能调用。调用步骤如下:1.1先将相关的库文件和动态库(.lib和.dll)放入当前工程的可执行文件夹.exe目录下(一般是dubug目录下)1.2将对应的头文件加入当前工程 1.3在当前工程的主对话框头文件,加入如下程序:#pragma comment(lib,"snap原创 2017-11-17 09:43:39 · 1026 阅读 · 0 评论 -
MFC中获取系统当前时间GetCurrentTime用法
核心函数有两个:GetCurrentTime和time.Format(_T("%Y-%m-%d%H:%M:%S")),具体的用法如下程序所示:新建MFC对话框工程,在工程界面添加一个编辑和一个测试按钮,双击按钮,在按钮事件处理函数中,添加如下代码,程序执行后的结果如二的程序执行结果所示。一、程序代码CTime time;//实例一个时间对象 CStringt原创 2017-12-11 16:14:24 · 14033 阅读 · 0 评论 -
MFC读写ini配置文件(WritePrivateProfileString,GetPrivateProfileString,GetPrivateProfileInt)
本博文主要总结用MFC配置ini文件的用法,核心函数只有三个,分别为WritePrivateProfileString和GetPrivateProfileString和GetPrivateProfileInt。下面分别讲解这三个核心函数的功能和各个参数的意义。一、WritePrivateProfileString函数和GetPrivateProfileString函数功能和各个参数详细分析原创 2017-12-12 16:51:06 · 17122 阅读 · 1 评论 -
MFC中分别用AfxMessage弹出框和编辑框显示多行内容(都是CString变量)
本博客主要总结了在VS2013的MFC中,显示多行CSting和编辑框内容。其中核心思想为:CString变量加上另一个带有换行符的\n的CString变量,然后一直加上带有换行符\n的CString变量,就能不断累加内容,详细操作步骤可以参考下文。1.1 新建一个基于对话框的MFC工程,在对话框中添加一个按钮控件和一个编辑框控件。如下图所示:1.2 编辑框控件属性设置原创 2017-12-06 21:05:40 · 6081 阅读 · 0 评论 -
MFC匿名管道原理详解、函数总结、调用实例(用MFC的匿名管道读取CMD输出内容)(C++语言)
本博客主要总结MFC中匿名管道的原理和具体调用实例,以及调用匿名管道三个核心函数各个参数用法详解,具体的如下所述。博主在做项目时,遇到一个问题。用程序调用一个进程,然后读取进程输出信息。但是,博主用Qt的QProcess无法读取标准输出,所以只能考虑管道技术。由于博主的开发环境是Windows10 64位,Qt的QProcess并没有找到类似的功能(可能博主对Qt研究不够深入,希望知道的大...原创 2018-10-18 20:23:31 · 2917 阅读 · 0 评论 -
MFC中OnTimer定时器用法
一、 单个定时器用法定时器工作主要流程:设置定时器SetTimer,时间到后调用OnTimer函数,关闭定时器KillTimer。可以在程序初始化用SetTimer函数弄成多个线程类似,并行进行多个函数功能。1.1 SetTimer(H,nID,elipse,NULL)函数作用:开始nID号定时器H:要定时的事件句柄,在MFC中不需要该参数,因为MFC封装在CWnd类中原创 2017-11-16 18:37:06 · 16653 阅读 · 1 评论 -
构造函数和析构函数用法
一、 函数重载和虚函数的区别函数重载:1. 构造函数是跟函数名重合,但是参数不同或者类型不同,比如:#include#includeusingnamespace std;//声明基类Studentclass Student{public: Student(int, string,float); //声明构造函数,参数不同,包含两个参数in原创 2017-11-16 18:35:32 · 428 阅读 · 0 评论 -
GroupBox和Radio用法
一、Radio控件用法1.1Radio控件默认设置((CButton*)GetDlgItem(IDC_RADIO_MM))->SetCheck(TRUE);1.1.1 GetDlgItem(ID)函数功能:获取属性ID号的对象指针。1.1.2 GetDlgItem函数返回值:一个CWnd*指针,该指针被强制转换为CButton*指针。1.1.3 CButto原创 2017-11-17 10:05:43 · 2639 阅读 · 0 评论 -
MFC中TabControl控件用法
一、创建TabControl控件主要分为以下步骤1.1将TabControl控件拖入基本对话框中,并且创建一个控件变量m_tab1.2创建两个子对话框,ID分别改为IDD_DIALOG_PAGE1和IDD_DIALOG_PAGE2。1.3把两个子对话框的属性Style改为Child,Border改为None。1.4为两个子对话框分别建立两个类,类名称分别为CTabPage1和CTa原创 2017-11-17 10:11:39 · 6898 阅读 · 1 评论 -
vs2013创建exe程序在其它电脑运行出错解决方案
经过我的亲自常识,如下第一个办法是可行的。当在本地电脑win7_64位上的vs2013编译好可行性文件.exe,在自己的电脑上能够运行,而在其余的XP系统,win7_32位系统,win7_64位系统会出现如下错误:“无法启动此程序,因为计算机中丢失mfc100.dll 尝试重新安装该程序以解决此问题。” 解决办法:(静态编译法)对工程属性配置如下:1【配置属性】原创 2017-11-17 10:18:39 · 6592 阅读 · 0 评论 -
MFC中各种字符转换
本文主要概括了vs2013的MFC中,各种字符转换 1.char*转int,用函数atoi();chartemp[10] = { 0 };int Int =atoi(temp); 2.int转char,直接强制转换int Int =0;char Char =Int; 3.CString转BYTEBYTEByte[16] = { 0 };CString原创 2017-11-17 10:38:24 · 1499 阅读 · 0 评论 -
MFC中复选框Check控件用法
当复选框ComBox控件勾选时做一种算法,不勾选时,做另一种算法,程序如下所示:if (BST_CHECKED == IsDlgButtonChecked(IDC_CHECK1)){ // 勾选}else{}IDC_CHECK1是CheckBox控件。 函数功能:该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或原创 2017-11-17 10:42:52 · 12473 阅读 · 0 评论 -
字符串转整形、ComBoBox用法
一、 字符串CString转整形int函数:_ttoi(string3);CString string3;int PPIApi.m_ComNo = (UINT)_ttoi(string3);//串口号为字符型,字符型转整形函数二、 组合框ComBoBox用法2.1显示当前选中内容:函数 GetWindowTextW(string3) //获得ComBox当前原创 2017-11-17 10:53:51 · 853 阅读 · 0 评论 -
MFC中全局变量exterm用法
从编辑框输入十六进制数算法1.1将CString中两个一组存放,提取单个字符1.2然后将两个字符的每一个字符转换为1个十六进制数1.3然后将这两个十进制数组成高位和低位十六进制数,组合组合成一个多位的十六进制数 hex==hexHigh*256+hexLow; 一、1.1全局变量的声明和定义1.1.1创建Global头文件和源文件1.1.2在头文件Golb原创 2017-11-17 10:57:14 · 578 阅读 · 0 评论 -
c++中只有一个dll文件的调用(动态调用法)
一、Led的dll调用方法步骤1.1将创建好的MFC工程,修改为多字节,操作如下:【配置属性】-【常规】-【字符集】-【使用多字节字符集】 1.2将MiniLED.h,MiniLED.cpp,MiniLED.dll三个文件加入新建工程的目录下,并且加入到工程中如下图所示: 1.3将MiniLED.h头文件加入LedTest1Dlg.h所在头文件:原创 2017-11-17 11:06:43 · 5488 阅读 · 4 评论 -
MFC图片控件PictrueControl用法
图片控件PictrueControl的调用主要分为两种:静态调用和动态调用。下面将详细讲述这两种调用方法。一、静态调用方法先期准备,创建一个HKTest2工程,一幅bmp位图(放在工程的res文件夹里面)1.1在资源视图导入Bitmap图片, 如下图所示: 1.2修改pictrue控件属性对话框的【Type】改为Bitmap,【Image】改为IDB_BITMA原创 2017-11-17 11:12:13 · 9765 阅读 · 1 评论 -
c++中模板_类模板的声明和定义
一、函数模板用法1.1申明和定义Ø 在函数申明和定义前面,加一个模板template<classT, classC>就行,其余正常定义和申明Ø 调用时,跟正常函数一样调用注意:Ø 模板在调用时,才确定参数的具体类型!!!Ø 模板的声明或定义只能在全局,命名空间或类范围内进行。即不能在局部范围,函数内进行,比如不能在main函数中声明或定义一个模板1....原创 2017-11-17 11:24:18 · 14183 阅读 · 1 评论 -
C++相对路径设置
C++相对路径设置 一、 “.\\ChildDirectory”双斜杠前面表示工程.cpp的当前目录,双斜杠之后,表示工程.cpp所在目录下的ChildDirectory文件,其中,ChildDirectory文件里面存放我们需要引用的资源。1.1 程序用法如下:Mat ScrImage; ScrImage = imread(".\\image\\image1.jpg"原创 2017-11-17 15:53:49 · 20379 阅读 · 0 评论 -
初学MFC错误总结
一、C++中format用法:int a=1;CstringS;S.format(“%d”,a); //错误用法,vc6不区分UNICODE格式,所以可以编译S.format(_T(“%d”),a); //正确用法,原因vs2005以上版本支持UNICODE格式 ComName.Format(_T("\\\\.\\COM%d"),m_Com原创 2017-11-16 17:59:37 · 459 阅读 · 0 评论 -
MFC基本对话框_串口(COM)扫描函数总结
本文主要总结一个串口(COM口)扫描函数,并将其封装成一个函数。当需要用MFC做一个计算机的串口扫描按钮时,可以直接调用下列函数,而不用再另费心思去写。全文主要分为三部分,第一部分是头文件源代码,第二部分是源文件源代码,第三部分是COM口函数调用示例。一、头文件程序如下(可直接复制黏贴)#pragma onceint CommScan(CComboBox* m_pComBo原创 2017-11-27 18:28:14 · 2693 阅读 · 1 评论 -
格式字符串的用法string.Format
字符串string.Format()用法:UINT a = 33; CString string; string.Format(_T("%ld"),a); AfxMessageBox(string); 格式字符串Format()函数里面第一个参数是字符串,第二个参数是传递给字符串里面的变量,跟printf("%ld",a)函数的参数用法类似。 输出结果如原创 2017-11-16 18:10:00 · 733 阅读 · 0 评论 -
vc6版本工程在vs2013版本打开需要安装vs多字节补丁
一、问题描述:1.1一个vc6的工程文件,在vs2013打开,编译时出现错误,提示MFC多字节工程被弃用,必须下载额外的库函数才能正常编译。1.2错误提示:error MSB8031:Building an MFC project for a non-Unicode character set is deprecated. You mustchange the project prop原创 2017-11-16 18:18:19 · 1175 阅读 · 0 评论 -
Qt5.9调用Windows的匿名管道总结
匿名管道一般用于两个父子进程之间的通信,通常是在MFC上调用。在Windows上,匿名管道的调用函数为CreatePipe(),具体的原理讲解和调用实例,可以参考博主的这篇博客:https://blog.csdn.net/naibozhuan3744/article/details/83142860。本博客主要总结在Qt下调用Windows系统函数CreatePipe()创建一个管道,然后启动...原创 2018-10-19 16:47:05 · 2989 阅读 · 0 评论