MFC
yexian1991
辞去近年
展开
-
【MFC笔记】CList控件里面包含Check控件的样式实现
效果如下左:列表里面有一系列check,可以点击,右边的edit里面显示选择的内容。1、实现的类是CCheckListBox; CCheckListBox是由CListBox派生,具有CListBox的所有功能。与CListBox唯一不同是在每一行前面加上了一个检查框(Check Box)。2、插入一个List Box控件,属性修改如下,Owner Draw选择Fixed,Has...原创 2019-10-13 12:51:03 · 489 阅读 · 0 评论 -
【MFC笔记】软件中打开网址和获取目前进程的目录
1、软件中打开网址、打开文件。ShellExecute()函数ShellExecute(NULL, _T("open"), _T("test.txt"), NULL, NULL, SW_SHOWMAXIMIZED);/*打开运行程序同一级目录下的test.txt文件*/ShellExecute(NULL, _T("open"), _T("http://www.ndttech.ne...转载 2019-05-20 09:42:06 · 261 阅读 · 0 评论 -
【MFC笔记】菜单显示与取消
做了一个菜单,有些功能还没有实现,先隐藏起来。在MainFrm.cpp的函数“OnCreate“中,添加如下程序 //GetMenu()->GetSubMenu(0)->RemoveMenu(0,MF_BYPOSITION);//将1菜单-->1子菜单隐藏 // GetMenu()->RemoveMenu(0,MF_BYPOSITION);//将1菜...转载 2019-05-20 09:42:33 · 394 阅读 · 0 评论 -
【MFC笔记】配置文件的写入和读取
INI配置文件,将程序中的设置写入一个文件,下次打开软件读取配置文件,这样就可以记录用户使用程序的状态了。//查找是否存在ini文件,若不存在,则生成一个新的默认设置的ini文件CFileFind finder; BOOL ifFind = finder.FindFile(_T("PHVUP.ini"));if (!ifFind) { ::WritePrivateProf...转载 2019-05-20 10:06:17 · 848 阅读 · 0 评论 -
【MFC笔记】生成PDF文件和操作
1、网上下载资料,存在百度网盘备份2、新建MFC对话框,添加一个按钮(点击按钮,生成pdf),运行产生debug版本。3、文件中的libhpdf.dll拷贝到debug目录下。4、文件中的libhpdf.lib和include文件夹拷贝到源码目录下。5、在XXXdlg.cpp下加14/15行。6、在按钮消息内加如下代码void CMFCApplication3Dl...转载 2019-05-10 11:23:39 · 4092 阅读 · 0 评论 -
【MFC笔记】GridCtrl表格控件的使用
1、新建一个对话框形式的MFC程序,将百度网盘保存的“GridCtrl”文件保存到源代码目录下。网址https://www.codeproject.com/Articles/8/MFC-Grid-control2、将整个文件夹放到工程目录所在的文件夹下,所有内容添加到资源管理器。在对话框XXX.h文件中添加头文件3、从工具箱拉一个Custom Control控件,确定位置。...原创 2019-05-17 15:59:51 · 20625 阅读 · 16 评论 -
【MFC笔记】GridCtrl表格控件消息响应处理
1、目标,单击不同的列,显示不同的内容。2、在一个对话框中加一个custom ctrl的控件,控件里面加GridCtrl表格,点击的是表格里面的格子。3、查看GridCtrl.cpp中有消息,如下。比如左键起来的时候,会向父窗口发一个WM_NOTIFY类型的消息,消息中包含的行列和消息类型的值。4、在父窗口中截取消息进行处理,类向导,虚函数OnNotify();BOO...原创 2019-05-30 17:54:39 · 2688 阅读 · 0 评论 -
【MFC笔记】动态加载不同的bitmap
1、新加对话框模板2、对话框中加picture控件,控件的属性type改为bitmap,ID修改一下,如果不改后面不能操作。3、picture控件增加变量名4、新建2个bitmap,分别是IDB_BITMAP1和IDB_BITMAP2。5、新建两个按钮,按1显示图片1,按2显示图片2。建立消息6、两个消息内容分别如下,后一个改为IDB_BITMAP2void CM...原创 2019-05-30 19:14:36 · 666 阅读 · 0 评论 -
【MFC笔记】窗口之间消息传递,自定义消息处理,消息参数的传递
实现功能,1窗口如果check选中,点击按钮,将edit的内容通过消息发送到窗口2,显示在edit中,如果没有勾选check,清空edit。1、新建对话框工程,在主对话框初始化函数中产生一个非模态对话框。(新建对话框资源,添加控件,生成对话框类,将类.h包含到主窗.h文件中。添加以下,产生非模态对话框 add *madd=new add;//add为新建窗口的类 madd->...原创 2019-06-06 00:23:39 · 1644 阅读 · 0 评论 -
【MFC笔记】线程建立/事件对象Event的使用步骤和作用说明
1、定义对象句柄HANDLE m_hEvent;2、创建对象m_hEvent=CreateEvent(NULL,FALSE,FALSE,NULL);//NULL,子进程不能继承//FALSE,当一个等待线程被释放以后,系统将会自动将事件状态复原为无信号状态。否则用ResetEvent()手动复原//FALSE,初始化状态非//NULL,无名事件3、等待事件Wait...原创 2019-05-29 11:36:42 · 1709 阅读 · 0 评论 -
【MFC笔记】获得edit控件鼠标光标的位置信息,并且混动滑轮调节大小
POINT pos = GetCaretPos();//获取光标相对于控件的位置int caretpos = ((CEdit*)GetDlgItem(IDC_EDIT1))->CharFromPos(pos);//获取光标位置Return ValueThe character index in the low-order WORD, and the line index in th...原创 2019-06-06 15:41:09 · 1624 阅读 · 0 评论 -
【MFC笔记】创建模态对话框和非模态对话框
创建模态对话框新建一个对话框,对话框生成类。在要加载对话框的类前添加头文件生成模态对话框的地方Ctest ctrst;ctest.DoModal();创建非模态对话框新建一个对话框,生成类。要加载的对话框类添加成员变量CSweepFreq *m_sweepFerq;//(类名,变量名)在类的构造函数里面初始化CPHVUPDlg::CPHVUPDl...转载 2019-06-18 20:00:27 · 229 阅读 · 0 评论 -
【MFC笔记】设置对话框的背景的颜色,设置static控件的背景色和字体的颜色
设置对话框的背景的颜色在onpaint()里面修改void CMyCtrlForm::OnPaint(){ CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序代码 // 不为绘图消息调用 CFormView::OnPaint() CRect rc; GetCl...转载 2019-06-18 20:20:37 · 738 阅读 · 0 评论 -
【MFC笔记】对话框拆分创窗口
0、MFC对话框改为蓝色底色https://www.cnblogs.com/huhu0013/p/4579994.html0,设置文字标题,在XXXDLG.cpp中添加SetWindowText("lai");1、先制作2个空白对话框,在空白对话框上生成两个类,基类选择CFormView。*对话框类型要改成child,不然会报错。两个类分别是CMyCtrlForm和C...原创 2019-06-04 14:17:52 · 458 阅读 · 0 评论 -
【MFC笔记】在一个面板上显示几组Radio-Buttom ctrl的使用
Radio-Buttom ctrl是单选控件,同时拉几个上去,同时间只能选择其中一个。如果一个页面需要几组,步骤是先用tab排序,同一组的要连在一起,比如要12一组,34一组,就要如下,不你变成3546这样的排序。排序之后进入属性,35设置成true。分组的原则是在选上Group属性的这一个开始直到碰到下一个选上Group属性的这样就可以选择两个了添加变量,一组...原创 2019-06-10 19:25:45 · 188 阅读 · 0 评论 -
【MFC笔记】用双缓存的方法画一个图
将图画在内存总,画号之后加载到显示设备。测试没问题1、对话框总加一个picture对的控件,确定大小。IDC_PICTURE_FILTER2、输入一次啊内容 { CDC MemDC;//定义CDC对象1 CBitmap Membitmap;//定义位图对象 CDC *pDC; pDC=GetDlgItem(IDC_PICTURE_FILTER)->GetDC()...原创 2019-06-04 20:38:47 · 210 阅读 · 0 评论 -
【MFC笔记】VS2015基于MFC对话框串口使用方法
1、百度网盘下载“”串口通信组件MSCOMM“”,解压缩。2、解压缩之后的“MSCOMM32.OCX”放在C:\Windows\SysWOW64目录下(64位系统),以管理员身份运行cmd。3、打开vs2015,工具箱添加项,选择COM组件,选择microsoft communication control 控件,工具箱里面加了这个图标,拖到界面中,界面中的图标运行的时候不会显示。因为...原创 2019-05-14 10:25:06 · 2358 阅读 · 0 评论 -
【MFC笔记】通过读取TXT中的数据绘制波形图
接《【MFC笔记】GDI对象之画笔CPen画波形图》1、创建一个基于对话框的MFC工程。2、添加一个Picture控件,ID设为IDC_WAVE_DRAW。3、为Picture控件添加CStatic变量,名称设为m_picDraw。4、在文件XXXXDlg.h文件中添加宏定义:#definePOINT_COUNT200 //显示的波形的长度,后面改成长度根据数组长度5、在...原创 2019-03-26 15:41:01 · 6735 阅读 · 8 评论 -
【MFC笔记】MFC中改变显示框edit内字体和大小
基于visual studio 17.1、新建一个项目,选择MFC,基于对话框,完成。2、资源视图,Dialog,IDD_XXX_DIALOG。拉两个Edit Control进来。3、右键编辑框,选择添加变量。类别控件,名称分别为out1和out2。4、在XXXDLG.h中添加如下语句。CFont是类名,my_Font是实例。CFont的使用先不深入。 C...原创 2019-03-06 17:15:37 · 5720 阅读 · 0 评论 -
【MFC笔记】父窗口与子窗口之间的数据传递及标签控件的使用
目的:在之前的对话框基础上实现以下功能:点击操>设置菜单,弹出对话框,对话框是一个tabcontrol(标签控件)的子窗口。点击确定按钮之后,如果没有选中哪一个,就在列表中将该列删除。1、新建DIALOG,选择TabCintrol,放到窗口中,显示如下2、为此窗口添加类,命名为TabCtrlChoice3、为Tabctrl添加控件变量,变量命名为mytab,后面可...原创 2019-03-20 14:27:17 · 7312 阅读 · 0 评论 -
【MFC笔记】动态创建静态文字CStatic和动态创建编辑框Cedit
1、新建工程,选择MFC对话框,在主窗口中添加按钮,按一下按钮跳出一个静态文字。2、给按钮添加事件,先定义两个变量。事件内容内添加如下内容void CMFCApplication2Dlg::OnBnClickedButton1()//按键按下响应的消息{ // TODO: 在此添加控件通知处理程序代码 CRect tabRect; // 标签控件客户区...原创 2019-03-20 17:18:46 · 3275 阅读 · 2 评论 -
【MFC笔记】文件打开对话框和将数据保存到列表控件
检测到打开按钮按下,启动下面的函数void CMyMFCDlg::OnBnClickedOpenButton(){ TCHAR szFilter[] = _T("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||");//文件过滤器 CFileDialog fileDlg(TRUE, _T("txt"), NULL, 0, szFilter, this);...原创 2019-03-12 15:31:49 · 1406 阅读 · 0 评论 -
【MFC笔记】MESSAGE的使用
程序某处添加MESSAGE提示对话框。int MessageBox(LPCTSTR lpszText,LPCTSTR lpszCaption = NULL,UINT nType = MB_OK);lpszText:需要显示的消息字符串。cstring格式lpszCaption:标题字符串。默认值为 NULL。取值为 NULL 时使用默认标题。nType:消息对话框的风格和属性。...原创 2019-03-08 12:07:26 · 1544 阅读 · 0 评论 -
【MFC笔记】文件保存的时候不能保存中文的解决办法
【MFC笔记】文件保存对话框的打开和数据保存(将数据保存在文件内)以上内容中,当输入中文的时候会不能保存内容。修改方法。1、添加头文件#include "locale.h"//显示中文头2、文件打开之后输入以下内容 char* old_locale = _strdup(setlocale(LC_CTYPE, NULL)); setlocale(...原创 2019-03-12 16:08:24 · 932 阅读 · 2 评论 -
【MFC笔记】下拉框选择控件的使用
实现如下功能,选择COMBO BOX内容,编辑框内显示对应的数据。1、新建工程,拉进来combo BOX,属性修改ID和TYPE2、新建combo BOX的控件变量为“m_comboWeb”(自己确定)3、新建编辑框,确定值控件"xianshi"(自己确定)4、进入XXXDlg.cpp中的OnInitDialog函数,初始化内容会按照首字母自动排序(B百度,J鸡,X新浪),...原创 2019-03-12 17:11:08 · 750 阅读 · 0 评论 -
【MFC笔记】点击列表控件List Control标题进行排序的实现。
1、在列表窗口右键,类向导。选择IDC_LIST1(我的列表控件的ID),消息选择LVN_COLUMNCLICK。2、消息映射出现如下ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST1, &CMyMFCDlg::OnLvnItemchangedList1)出现以下函数void CMyMFCDlg::OnColumnclickList1(NMHD...转载 2019-03-13 12:00:45 · 3052 阅读 · 0 评论 -
【MFC笔记】列表控件List Control选中一行数据、右键跳出菜单、删除某一行、DELETE按钮删除一行
1、新建一个菜单2、在列表控件List Control中新建右键消息3、在消息函数内添加如下程序,可以弹出对话框了 CMenu menu;//新建菜单实例 POINT pt = { 0 };//用于存储鼠标位置的结构体变量,pt.x和pt.y分别为x.y值 GetCursorPos(&pt);//得到鼠标点击位置 menu.LoadMenu...原创 2019-03-13 14:44:19 · 5783 阅读 · 0 评论 -
【MFC笔记】列表控件CListctrl中,通过右键修改某行数据
1、在之前的项目中添加,右键鼠标菜单,第二个改为修改,添加信息。2、消息响应函数中,先获取鼠标点击的行号int nItem = m_List.GetSelectionMark();//确定选中行的行号3、新建一个对话框实例(之前创建的Do_Add 类) INT_PTR nRes; // 用于后面保存 DoModal 函数的返回值 Do_Add tipDlg; //...原创 2019-03-13 17:01:37 · 2997 阅读 · 1 评论 -
【MFC笔记】CTime类和CTimeSpan类&获取系统当前时间
时间类CTime类和CTimeSpan类记得添加头文件“#include "atltime.h"”CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。常用构造函数如下,最后一个参数可以默认-1。CTime( int nYear, int nMonth, int nDay, int nHour, int ...转载 2019-03-25 17:48:17 · 1003 阅读 · 0 评论 -
【MFC笔记】组合框控件Combo Box使用
1、新建项目MFC对话框。2、在主窗口添加控件,如下3、属性修改,type有三种,选择下拉列表,是用户不可编辑的。4、为控件添加控件变量,右键跳出,这里设为mycombox5、修改初始化程序,增加控件里面的选项CComboBox::AddString(内容1)CComboBox::SetCurSel(默认显示的那个选项)这里发现我这里先加的项索引反而高一些。...原创 2019-03-22 11:55:55 · 759 阅读 · 0 评论 -
【MFC笔记】滚动条控件Scroll Bar实例
最终想实现的功能,在长波形中通过滚动条框选一段波形,放大显示在波形图中。现在控制滚动条,将控件的位置信息显示在编辑框内。1、新建MFC工程,选择对话框模式2、添加滚动条控件Scroll Bar和编辑框控件到窗口3、编辑框添加变量,选择值,类型为int,命名myCString;滚动条添加变量为类型,命名myCScrollBar4、初始化程序中添加代码,设置滚动条的范围和当...原创 2019-03-22 14:44:58 · 714 阅读 · 0 评论 -
【MFC笔记】定时器Timer的操作&定时采集固定时间长度的数据
使用定时器,开始采集按钮按下后,每隔5分钟启动采集一次,每次采集5秒钟的数据,按下停止采集按钮后停止。1、采集按钮按下后,设置一个定时器,SetTimer函数UINT_PTR SetTimer( UINT_PTR nIDEvent, UINT nElapse, void (CALLBACK* lpfnTimer)(HWND, UINT, UINT_PTR, D...原创 2019-03-26 11:48:18 · 1395 阅读 · 0 评论 -
【MFC笔记】GDI对象之画笔CPen画波形图
1、创建一个基于对话框的MFC工程。2、添加一个Picture控件,ID设为IDC_WAVE_DRAW。3、为Picture控件添加CStatic变量,名称设为m_picDraw。4、在文件XXXXDlg.h文件中添加宏定义:#definePOINT_COUNT100此符号常量的意义是一个界面显示波形的点数,这里用define将其定义为符号常量是为了方便以后可能的修改。...转载 2019-03-26 14:03:59 · 2223 阅读 · 1 评论 -
【MFC笔记】文件保存对话框的打开和数据保存(将数据保存在文件内)
接前面的列表对话框在列表框所在的界面新建一个按钮,命名为保存,按钮的事件过程中调用一下数据保存数据文件void CMyMFCDlg::OnBnClickedSaveButton()//按下保存按钮{ TCHAR szFilter[] = _T("文本文件(*.txt)|*.txt|| "); //在下面实例fileDlg中作为参数使用 // 构造保存文件对话框 ...原创 2019-03-08 15:39:40 · 4072 阅读 · 0 评论