MFC常用函数
1、MFC的常用函数(只是找了些经常使用的,这里没有的可以CSDN查找,不需要都记住,经常使用自动就会记得)
1)GetDlgItemText(ID ,str)作用:
对话框中获取文本第一个参数为要获取的编辑框(或者静态文本框、单选按钮等可以显示内容的控件)的ID,第二个参数为字符串(Cstring 类型)的变量,获取的文本存储在str中。
2)SetDlgItemText(ID,str)
作用:将字符串显示在控件中
第一个参数为要显示的编辑框(或者静态文本框、单选按钮、组合框等可以显示内容的控件)的ID,第二个参数为字符串(Cstring 类型)的变量,显示的文本存储在str中。
如果要显示的变量的类型不是Cstring,则通过Format函数强制转换。通常还要加一个UpDateData(FALSE)。
3)UINT nID=GetCheckedRadioButton(IDC1, IDC2);
作用:获取单选框的选项的ID
第一个参数为该组合框中第一个单选按钮的ID,第二个参数为该组合框中最后一个按钮的ID。
4)CheckRadioButton(IDC1, IDC2, IDC3);
作用:初始化单选按钮
第一个参数为该组合框中第一个单选按钮的ID,第二个参数为该组合框中最后一个按钮的ID,第三个参数为为缺省选项的ID。
5)m_scrollBar.SetScrollRange(0, 500) ;
作用:设置水平滚动条的取值范围,m_scrollBar为水平滚动条的控制类型的变量,0为设置最小值,500为设置的最大值。
6)m_nAmount = m_slider.GetPos() ;
作用:获取滑块的当前位置。
7)m_slider.SetRange(0,1000) ;
作用://设置滑块取值范围
第一个参数为设置的最小值,第二个参数为设置的最大值。
8)double Volum = atof(strCtrl);
作用:将字符串strCtl转换成浮点型的Volum
9)int Volum = atoi(strCtrl);
作用:将字符串strCtl转换成整型的Volum
10)MessageBox(str) ;(局部函数)
作用:输出字符串str
11)AfxMessageBox(str) ;(全局函数)
作用:输出字符串str
12)tempt = m_time2.Format("%H:%m:%S") ;
作用:将时间转化成字符型(时、分、秒)
m_time2为日历时间选取器的变量,tempt为CString型变量
13)tempt = m_time.Format("%Y-%m-%d") ;//将时间转化成字符型
作用:将时间转化成字符型(年、月、日)
m_time2为日历时间选取器的变量,tempt为CString型变量
14)m_time = CTime::GetCurrentTime();
作用:获取系统当前时间
m_time为Ctime类型的变量。
15)m_list.AddString(str);
功能:将Cstrig类型的变量的内容显示在列表框中(或者组合框中)。m_str为ClistBox类型的变量(或者是CcomboBox类型的变量)。
16)m_time = CTime(2012 ,5 ,28 ,0 ,0 ,0) ;
功能:初始化日期,m_time为Ctime类型的变量
17)str.TrimLeft();
功能:去掉Cstring类型变量的左边的空格
18)str.TrimRight();
功能:去掉Cstring类型变量的右边的空格
19)str.IsEmpty();
功能:判断Cstring类型的变量str是否为空,如果为空则返回1,否则返回零。
20)int nIndex=m_list.FindString(int k,str);
从第k个位置开始查找,若为-1,则从头至尾查找。
函数原型:
int FindString(int nStartAfter,LPCTSTR lpszItem) const;
int FindStringExact(int nIndexStart,LPCTSTR lpszFind) const;
其中,FindStringExact的查找精度最高
21)m_list.ResetContent() ;
功能:清空列表框中的内容
m_list为ClistBox类型变量。
22)m_listSearch.DeleteString(int nIndex);
功能:删除列表框中的第nIndex条记录。
m_listSearch为ClistBox类型变量。
23)GetDlgItem(IDC_BUTTON_DELETE)->EnableWindow(FALSE);
功能:是ID为IDC_BUTTON_DELETE的按钮灰选。
24)GetDlgItem(IDC_BUTTON_DELETE)->EnableWindow(TRUE);
功能:是ID为IDC_BUTTON_DELETE的按钮还原。
25)str.Left(length);
功能:获取字符串str左边长度为length的值。
26)int length = str.GetLength() ;
功能:获取字符串str的长度
27)dlg.DoModal() ;
功能:建立一个对话框
dlg为该对话框的类的对象。
28)CDialog::OnCancel() ;
功能:关闭窗口
29)CMenu* pSysMenu=GetMenu();
功能:获取程序菜单指针
30)int nCount=pSysMenu->GetMenuItemCount();
功能:获取项层菜单项的项数
31)int nIndex=m_ListBox.GetCurSel();
功能:获取指针在列表框中的位置
m_ListBox为ClistBox类型变量。
32)GetWindowText(str) ;
功能:获取当前窗口的标题
Str为Cstring 类型的变量
33)GetDlgItem(IDC_CLICKHERE)->SetFocus();
将光标设置在控件IDC_CLICKHERE处,若是在打开某个对话框时候做此设置,则将该语句加到消息处理函数OnInitDialog的return语句前,并且将最后的语句 return TRUE; 该为
return FALSE;GetDlgItem(IDC_CLICKHERE)->SetFocus();也可写成m_strit.SetFocus();其中m_strit为该控件对应的变量。
34)GetDlgItem(IDC_STATIC_NUMBER1)
功能:获取ID为IDC_STATIC_NUMBER1控件的指针.
例如:
CString str ;
GetDlgItem(IDC_STATIC_NUMBER1)->GetWindowText(str) ;//此句等价于
GetDlgItemText(IDC_STATIC_NUMBER1,str);
35)int num1 = GetDlgItemInt(IDC_EDIT1);
功能:获取ID为IDC_EDIT1控件的文本并且转化成整形的值,如果文本中含有非数字字符则转化失败.
36)SetDlgItemInt(IDC_EDIT3,num3) ;
功能:将整数num3显示在ID为IDC_EDIT3的编辑框中.
37)SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
注意:在函数前面加上作用域分节符表示调用的是全局函数.
功能:取ID为IDC_EDIT1控件的文本,获取的最大长度为10,并且将获取的内容存储在ch1中.相当于GetDlgItemText(IDC_EDIT1,ch1,10);
说明:第一个参数为对应控件的句柄,第二个参数为消息名称,第三个参数为获取文本的最大长度,第四个参数为存储文本的缓冲区,此处ch1为字符数组,即 char ch110];
第四个参数的类型必须强制转换成LPARAM.
此函数有多种调用方式,其功能是相同的。列举如下:
(1) SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
(2) GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
(3) m_edit1.SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
(4) SendMessage(m_edit1.m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
其中m_edit1是IDC_EDIT1控件的类别为Control,类型为CEdit的变量.
38)SendMessage(GetDlgItem(IDC_EDIT3)->m_hWnd,WM_SETTEXT,0,(LPARAM)ch3);
功能:将缓冲区ch3的内容显示在D为IDC_EDIT1控件上.其作用相当于SetDlgItemText(IDC_EDIT1,ch1);
说明:第一个参数为对应控件的句柄,第二个参数为消息名称,第三个参数用不上,故设置为零,第四个参数为要显示的文本内容, 第四个参数的类型必须强制转换成LPARAM.
39)SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);
功能等价于::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
40)SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3);
功能等价于::SendMessage(GetDlgItem(IDC_EDIT3)->m_hWnd,WM_SETTEXT,0,(LPARAM)ch3);
2.总结
有了这些MFC的函数对于操作界面很轻松了,好好多做些demo,来熟练这些函数,明天再写一些数据类型,就可以写一些小游戏了。
改变自己,从现在做起-----------久馆
MFC常用函数的更多相关文章
- MFC常用函数总结
1.MFC编辑框.静态文本框相关的常用函数 <1>GetDlgItemText(ID ,str) 作用:从对话框中获取文本 第一个参数为要获取的编辑框(或者静态文本框.单选按钮等可以显示内 ...
- C++ MFC常用函数(转)
WinExec() ExitWindowsEx() GlobalMemoryStatus() GetSystemInfo() GetSystemDirectory() GetWindowsDirect ...
- [MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍
SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinMagicLib( //初始化SkinMagic工具库 HINSTANCE ...
- VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)
上一节中鸡啄米讲了MFC常用类CString类的用法,本节继续讲另外两个MFC常用类-日期和时间类CTime类和CTimeSpan类. 日期和时间类简介 CTime类的对象表示的时间是基于格林威治标准 ...
- VS2010-MFC(MFC常用类:CTime类和CTimeSpan类)
转自:http://www.jizhuomi.com/software/230.html 上一节讲了MFC常用类CString类的用法,本节继续讲另外两个MFC常用类-日期和时间类CTime类和CTi ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
- 总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- [转]SQL 常用函数及示例
原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...
- PHP常用函数、数组方法
常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前 ...
随机推荐
- c++ 通用单例类声明
//单例类定义#define CLASS_INSTANCE_DEF(className) \public: \ static className* GetInstance() \ { \ static ...
- 【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)
问题情形 使用Python SDK在连接到数据库后,连接数据库获取数据成功,但是在Pandas中用 to_sql 反写会数据库时候报错.错误信息为:ProgrammingError: ('42000' ...
- 正式班D13
2020.10.22星期四 正式班D13 修改文件内容 vim编辑 vim基础 可理解为Windows下的文本编辑器 vim可用来修改配置.写脚本 三种模式(命令模式.输入模式.末行模式) 命令模式按 ...
- 用node.js给C#写一个数据表的实体类生成工具
虽然微软提供了T4模板,但是我感觉非常难用.哪儿比得上直接用脚本来写模板来的爽. 因为要给一个老项目做周边的工具,需要连接到数据库. 我习惯性用EntityFrameworkCore来做,因为毕竟从出 ...
- java 第五课 异常
1.为什么使用异常? 若没有异常处理机制,会使用流程控制语句if switch等来处理异常情况,程序复杂 2.捕捉异常try catch finally 3.方法中抛出异常throw(throw 可 ...
- 微信小程序UI自动化:实践之后的记录01-选择工具/框架
目录 1. 前言 2. 工具/框架/库选择 2.1 miniprogram-automator官方介绍(摘自官方哈) 小程序自动化 特性 2.2 minium官方介绍 特性 3. 如何选择 4. 对应 ...
- Redis---09Redis集群(二)
一.集群的Jedis开发: 1.导入jar包 jedis-2.8.1.jar commons-pool2-2.4.2.jar 2.代码 public class TestCluster { publi ...
- JAVA概述-JAVA入门基础
一.JAVA的历史 Java是1995年由Sun公司(现Oracle公司)推出的一门面向对象的高级编程语言.这门编程语言的Logo就像是一杯刚刚煮好的咖啡. Java最初期的开发是在1991年,最初的 ...
- python使用SVC算法
python使用SVC算法评估汽车价值 关注公众号"轻松学编程"了解更多. 这是一个关于汽车测评的数据集, 类别变量为汽车的测评: (unacc,ACC,good,vgood) ...
- 使用Asponse.Words处理Word模板
一.客户需求 近期接到一个项目,在与客户初步沟通后,客户描述的需求听起来也非常简单,就是目前客户需要在Excel录入数据,然后把这些数据分别复制到多个Word的多个地方,除了单个值之外,还需要复制表格 ...