MFC
文章平均质量分 52
xueluowutong
研究方向六轴机械臂运动控制算法,智能控制算法,机器学习,计算机视觉和图像处理
展开
-
MFC中CString.Format的详细用法
CString 是一个类,这个类是MFC众多类中的一个。这个类有个函数叫Format,这个函数的作用是数据格式转换。Format可以转换的格式字符:(就是说将其他格式的数据类型 转换为CString类型的)%c 单个字符%d 十进制整数(int)%ld 十进制整数(long)%f ...转载 2018-07-18 15:00:31 · 958 阅读 · 0 评论 -
MFC--MSG结构
MSG结构MSG结构具有如下形式:typedef struct tagMSG{ // msg HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt;} MSG;MSG结构中包含了线程的消息队列中的消息信息。成员:hwnd 标识了接收的消息的...转载 2018-08-06 11:18:42 · 1789 阅读 · 0 评论 -
MFC中资源视图中对话框大小和实际像素尺寸显示问题
在使用Visual Studio 6.0(Visual C++ 6.0)开发的过程中,对话框中的控件在资源编辑器中的尺寸和其实际的像素尺寸之间的对应问题非常的令人烦恼。特别是在要求对话框控件大小随屏幕分辨率或程序窗口大小变化而变化时就更加令人挠头。 原因就在于,资源编辑器中的单位(DLU)与屏幕像素之间的对应关系随着对话框字体种类和大小的变化而变化。(1)在水平方向1 DLU == 1/...转载 2018-08-01 16:30:17 · 8607 阅读 · 0 评论 -
MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
一、长整型数据与CString类字符串相互转换1.将长整型数据转换为CString字符串类CString str;long ld;str.Format(_T("%ld"),ld);2.将CString字符串类转换为长整型数据CString str;long ld;ld=_wtol(str);_wtol()在<stdlib.h> and <wchar.h...转载 2018-08-14 11:19:03 · 540 阅读 · 0 评论 -
MFC列表CListCtrl类的LVCOLUMN和LVITEM详解
列表视图控件(List Control) 列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来。与树视图类似,列表控件可以由多个子项目组成,并且支持大图标、小图标、列表和报表4种方式显示信息,如图1所示。 图1 列表视图的4种显示方式 列表视图包含一个项目列表,而其中每个项目由图标...转载 2018-08-11 11:05:40 · 1009 阅读 · 0 评论 -
MFC中实现ListControl翻页功能
一。写代码前的准备:功能如下: 1.创造工程 testDlg,在对话框头文件中定义,四个公有变量 int pageNo; //页数编号int pageSize; // 每页显示条数int intStart; // 开始记录int intEnd; // 结束记录int max_page; // 记录最大页数 2.在控件上添加一个列表框控...转载 2018-08-11 16:31:20 · 1787 阅读 · 0 评论 -
MFC中列表控件中控制滚动条
列表框增加信息后添加如下代码:SendMessage(m_ListBoxNotes.m_hWnd,WM_VSCROLL,MAKEWPARAM(SB_BOTTOM,0),NULL);其中m_ListBoxNotes为控件控制型变量 滚动条消息通知码nSBCode: SB_BOTTOM/SB_RIGHT:滚动到底端(右端) SB_TOP/SB_LEFT:滚...转载 2018-08-13 13:50:31 · 2882 阅读 · 0 评论 -
MFC中FindResource如何获取自定义资源
在.exe中可以这样添加和访问:1,添加数据/资源:在resource(资源)中 通过 “Add resource -> Import...”选择需要添加的 数据/资源,其中的 resource type 可以自己命名,需要注意的是需要利用字符串命名,譬如可以为"MYRESTYPE",资源ID可以为字符串,譬如为"IDR_DATA",也可以使ID譬如为IDR_DATA,这两种方式...转载 2018-08-18 09:52:26 · 5056 阅读 · 0 评论 -
MFC的CEidt中GetLineCount(),LineIndex(),LineLength(),GetLine()函数使用
int GetLineCount( ) const; // 包含的行数整数在多行编辑控件。 如果文本尚未输入编辑控件,则返回值是1。 LineLength(); // 获取某一行字符串长度 ,LineLength()中的行号需要通过LineIndex()函数来转换GetLine(); // 获取某一行字符串int i, nLineCount = m_myEdit.Ge...原创 2018-08-18 13:49:22 · 2920 阅读 · 0 评论 -
MFC中动态获取/设置按钮的文字
(1) 获取按钮控件的文本: CString tempstr;// 获取ID为ID_BUTTON_1按钮的文本内容GetDlgItem(ID_BUTTON_1)->GetWindowText(tempstr);(2) 设置按钮控件的文本:GetDlgItem(ID_BUTTON_1)->SetWindowText("X");...原创 2018-08-16 13:41:58 · 2459 阅读 · 0 评论 -
MFC中菜单响应事件ON_UPDATE_COMMAND_UI和ON_COMMAND消息区别,OnMenuSelect事件介绍
第一个是响应打开菜单的命令的 第二个是你打开这个菜单时,处理这个菜单的状态,比如选中、变灰等等。比如WINDOWS自带的记事本程序,它的"格式"菜单下有个"自动换行",那么在编写记事本这个程序时,对文本进行自动换行或不自动换行的操作就要放在ON_COMMAND消息响应函数里,而"自动换行"菜单项左边是否打勾的操作则放在ON_UPDATE_COMMAND_UI响应函数里.UPDATE_CO...转载 2018-08-22 13:40:17 · 2241 阅读 · 0 评论 -
fopen_s函数的访问方式
errno_t fopen_s( FILE** pFile, const char *filename, const char *mode );函数参数:pFile文件指针将接收到打开的文件指针指向的指针。infilename文件名。inmode允许的访问类型。访问方式:"r"打开以进行读取。如果该文件不存在,或无法找到,fopen_s调用失败。"w"...转载 2018-08-23 09:24:31 · 6371 阅读 · 0 评论 -
MFC之TXT文本文件的读写
正确的文本文件读写过程:1、定义文件变量;2、打开指定的文件;3、向文本文件中写入信息;4、从文本文件中读取信息;5、关闭文件 1、定义文件变量(CStdioFile类是CFile类的扩展)定义文件变量格式:CStdioFile 文件变量(操作文件时模式是text模式)。CFile(操作文件默认的是Binary模式)2、打开指定文件可以直接通过CStdioFile的构造函数...转载 2018-08-20 14:36:59 · 3735 阅读 · 0 评论 -
多字节、UTF-8和Unicode之间的转换
// 多字节编码转为UTF8编码 bool MBToUTF8(vector<char>& pu8, const char* pmb, int32 mLen) { // convert an MBCS string to widechar int32 nLen = MultiByteToWideChar(CP_ACP, 0, pmb, mLen, NULL...转载 2018-08-21 10:28:55 · 2507 阅读 · 0 评论 -
MFC在Unicode字符集下读写ANSI编码文件
读取ANSI编码文件时,先将文件存储在char*指向的内存内,而后使用转换将char*转换为w_char_t*。wchar_t*可以使用CString的Format函数。CFile file(_T("test.txt"), CFile::modeRead);//读ANSI编码的文件int filelen = file.GetLength();char *p = new char[fi...转载 2018-08-21 10:55:14 · 1547 阅读 · 0 评论 -
MFC给按钮加载图标,并指定图标大小方法
用LoadImage函数1、首先在资源管理器中增加图标资源(此处为IDI_ICON1),注意必须为ICON类型的文件;2、增加一个按钮,按钮大小和图片大小一致(像素)。按钮关联控制变量m_btnPlay;3、修改按钮的属性中ICON属性为TRUE. 4、在初始化函数中增加加载处理。 CRect rect_btn; CButton* p_btn = (CButto...原创 2018-08-01 14:46:15 · 2557 阅读 · 0 评论 -
MFC获取窗口大小
1、获取屏幕分辨率//下边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域int cx = GetSystemMetrics(SM_CXFULLSCREEN);int cy = GetSystemMetrics(SM_CYFULLSCREEN);//下边这两个函数获取的是真正屏幕的大小:屏幕分辨率int nWidth=GetSystemMetrics(SM_CXSCREEN); ...转载 2018-08-01 09:10:54 · 8355 阅读 · 0 评论 -
MFC函数之BitBlt
// Cgame123View 绘制 void Cgame123View::OnDraw(CDC* pDC){ Cgame123Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 CRect Rect; GetClientRect(&...转载 2018-07-31 17:32:58 · 4839 阅读 · 0 评论 -
MFC中GlobalAlloc、GlobalLock和GlobalUnLock详解
调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 GlobalAlloc申请的内存分两种,一种是GMEM_FIXED,另一种是GMEM_MOVEABLE。两者的差别只要在于GMEM_MOVEABLE类型的内存操作系统是可以移动的,比如堆中有好几块小内存,当再申请一大块内存时,操作系统会移动GMEM_MOVEABLE类型的内存来合并出一大块。正因为GMEM_MOVEABLE...转载 2018-07-19 09:46:55 · 1169 阅读 · 0 评论 -
MFC中剪贴板操作SetDataToClip()和GetDataFromClip()
// Funciton: // 拷贝数据到剪切板 // 从剪切板粘贴数据 // Data:2011/4/8 #include <windows.h> #include <stdio.h> void SetDataToClip(void) { // 打开剪贴板 if (!OpenC...转载 2018-07-19 11:04:42 · 433 阅读 · 0 评论 -
MFC进程通信--剪贴板
进程通信——剪贴板一、简介1.1 定义剪贴板是由操作系统维护的一块内存区域,这块内存区域不属于任何单独的进程,但是每一个进程又都可以访问这块内存区域,而实质上当在一个进程中复制数据时,就是将数据放到该内存区域中,而当在另一个进程中粘贴数据时,则是从该块内存区域中取出数据。 Windows剪贴板是一种比较简单同时也是开销比较小的进程间通信方式。使用剪贴板传递数据使开发人员不必过多地考...转载 2018-07-19 14:06:53 · 375 阅读 · 0 评论 -
MFC中SetSel和GetSel:光标选中和定位函数
通过实际的界面程序了解MFC的SetSel函数和GetSel函数的参数应该怎样传递。 函数参数主要如下:SetSel(int nStartChar, int nEndChar, BOOL bNoScroll);GetSel(int& nStartChar, int& nEndChar); nStartChar表示起始的字符位置nEndChar表示结束的字...转载 2018-07-19 16:45:58 · 2456 阅读 · 0 评论 -
MFC中OnChar函数和WM_CHAR消息的理解
一直都以为OnChar消息函数 或者 说 WM_CHAR 可以处理所有的按键信息。原来是错误的,WM_CHAR 对应的只是字符而不是按键。其中,字符是指的0-127内的ASCII码。具体的说明参照以下的文章。 http://hi.baidu.com/%BF%AA%D0%C4_%D0%D6%B5%DC/blog/item/170b5273f26e7a1f8601b0c1.html...转载 2018-07-20 13:15:47 · 4805 阅读 · 0 评论 -
MFC中GetDlgItem以及SetDlgItem详解
MFC的GetDlgItem()主要是获取对话框上的句柄,通过获取对话框上的句柄可以获取句柄上的信息等GetDlgItem() 有一个参数,即对话框所要获取的句柄点的ID号应用如下,比如,获取句柄后可以获取句柄的文本信息,以及设置文本信息CString str;GetDlgItem(IDC_NUMBER1) -> GetWindowText(str); // 获取对...原创 2018-07-21 14:15:09 · 5952 阅读 · 0 评论 -
MFC中常用函数总结
1、MFC编辑框、静态文本框相关的常用函数《1》GetDlgItemText(ID ,str)作用:从对话框中获取文本第一个参数为要获取的编辑框(或者静态文本框、单选按钮等可以显示内容的控件)的ID,第二个参数为字符串(Cstring 类型)的变量,获取的文本存储在str中。《2》SetDlgItemText(ID,str)作用:将字符串显示在控件中第一个参数为要显示的编辑...转载 2018-07-30 09:55:02 · 1911 阅读 · 0 评论 -
MFC中状态栏添加
首先我们创建一个简单的MFC对话框程序,这个创建过程就省略了。假设我的工程名为:CStatusBar1Dlg测试环境:vc6.0环境下下面介绍一下如何在对话框上添加状态栏:第一步:在CStatusBar1Dlg.h头文件中添加一个状态栏的变量:CStatusBar m_wndStatusBar; //状态栏对象第二步:在字符串表中添加自己需要在状态栏中显示的ID值,详见...转载 2018-07-30 15:10:27 · 2471 阅读 · 0 评论 -
VS2008与华途示教器连接步骤
1、首先安装华途示教器的SDK(htq)2、在vs2008中建立相应的项目3、安装vs2008和WINCE设备的同步软件4、用miniUSB线进行硬件连接5、在wince示教器设备中,我的设备->Program Files->(自己建立的)项目(名称)下添加相应的库(htqLibV2_0.dll,.h,.lib) 和可执行文件在同一个目录下...原创 2018-08-04 13:40:01 · 666 阅读 · 0 评论 -
C++中map模板的用法
std::map用法 STL是标准C++系统的一组模板类,使用STL模板类最大的好处就是在各种C++编译器上都通用。 在STL模板类中,用于线性数据存储管理的类主要有vector, list, map 等等。本文主要针对map对象,结合自己学习该对象的过程,讲解一下具体用法。本人初学,水平有限,讲解差错之处,请大家多多批评指正。 map对象所实现的功能跟MFC得CMa...转载 2018-07-31 09:39:45 · 4841 阅读 · 0 评论 -
MFC中ComboBox控件不显示数据问题
在对ComboBox控件进行初始化过程中,一定要加CDialog::OnInitDialog(),不然会出现数据不显示的问题原创 2018-08-09 10:39:51 · 2865 阅读 · 1 评论 -
MFC中模态对话框和非模态对话框的区别
模态对话框工作状态:当它获得焦点时,将垄断用户的输入,在完成本对话框之前,用户无法对本程序的其他部分进行操作。非模态对话框类似于WORD里的查找替换,就在应用程序打开非模态对话框的同时还可以切换到其他窗口进行操作。二者的类都派生于CDialog类,而CDialog类派生于CWnd类。区别:模态对话框使用CDialog::DoModal函数创建以及销毁。初始化消息WM_INITDIALOG,调...转载 2018-07-31 11:36:28 · 226 阅读 · 0 评论 -
MFC中GDI的DC解释
在GDI中,DC(Device context)是一个非常重要的概念。有的书中,将DC翻译为设备描述表(《Windows 程序设计 第五版》作者Charles Petzold),也有的书将DC翻译为设备上下文。到底什么是DC?用现实中的例子来理解可能更容易些。如果你喜欢画画,你得先准备了画布,画笔,颜料……画画的环境搭建好了,你就可以画画了。这个画画的环境,就是DC。...转载 2018-07-31 15:19:13 · 722 阅读 · 0 评论 -
MFC中TCHAR和CHAR类型的互转
//将TCHAR转为char //*tchar是TCHAR类型指针,*_char是char类型指针 TcharToChar (const TCHAR * tchar, char * _char) { int iLength ; //获取字节长度 iLength = WideCharToMultiByte(CP_ACP, 0, tchar, -1, ...转载 2018-08-09 14:00:30 · 1362 阅读 · 0 评论 -
MFC中各字符串类型转换,字符串操作和UNICODE、ANSI字符集
一.CString与LPCWSTR 两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。 CString转换成LPCWSTR 方法一:CString strFileName; ...转载 2019-02-26 10:18:54 · 1002 阅读 · 0 评论