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常用函数的更多相关文章

  1. MFC常用函数总结

    1.MFC编辑框.静态文本框相关的常用函数 <1>GetDlgItemText(ID ,str) 作用:从对话框中获取文本 第一个参数为要获取的编辑框(或者静态文本框.单选按钮等可以显示内 ...

  2. C++ MFC常用函数(转)

    WinExec() ExitWindowsEx() GlobalMemoryStatus() GetSystemInfo() GetSystemDirectory() GetWindowsDirect ...

  3. [MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍

    SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinMagicLib( //初始化SkinMagic工具库 HINSTANCE ...

  4. VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)

    上一节中鸡啄米讲了MFC常用类CString类的用法,本节继续讲另外两个MFC常用类-日期和时间类CTime类和CTimeSpan类. 日期和时间类简介 CTime类的对象表示的时间是基于格林威治标准 ...

  5. VS2010-MFC(MFC常用类:CTime类和CTimeSpan类)

    转自:http://www.jizhuomi.com/software/230.html 上一节讲了MFC常用类CString类的用法,本节继续讲另外两个MFC常用类-日期和时间类CTime类和CTi ...

  6. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  7. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  8. [转]SQL 常用函数及示例

    原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...

  9. PHP常用函数、数组方法

    常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前 ...

随机推荐

  1. mysql锁 转

    参考文章:https://blog.csdn.net/puhaiyang/article/details/72284702 一.mysql锁的结构图 如上图所示,针对mysql的innodb存储引擎, ...

  2. selenium基础--登录简单的网站

    import time from selenium import webdriver from lxml import etree from selenium.webdriver import Act ...

  3. 手写Redux-Saga源码

    上一篇文章我们分析了Redux-Thunk的源码,可以看到他的代码非常简单,只是让dispatch可以处理函数类型的action,其作者也承认对于复杂场景,Redux-Thunk并不适用,还推荐了Re ...

  4. C# 面试前的准备_基础知识点的回顾_04

    1.Session和Cookie的使用区别 很容易回答的就是Session在服务器端,存储的数据可以较大容量,比如我们存一个Table,上千条数据. Cookie保存在客户端,安全系数低,不能放重要的 ...

  5. Jmeter入门(6)- 参数化

    一.什么是参数化 为什么要参数化? 在发送大量的请求时,键对值是写死的,每次请求都需要去修改,无法实现快速添加的需求.想要快速实现该需求,就需要用到参数化. 什么是参数化? 根据需求动态获取数据并进行 ...

  6. 大白话聊OSI七层模型和TCP/IP四层模型

    前言 今天和大家聊的是一个比较基础的问题,OSI七层模型和TCP/IP四层模型. 小伙伴们可能有疑问,这个东西还用写文章吗,太基础了吧,网上文章多的是,随便一搜索就能找到. 确实是这样,网上资料确实很 ...

  7. STL: set和map的区别、联系、使用

    set是一种关联式容器,其特性如下: set以RBTree作为底层容器 所得元素的只有key(键)没有value(值) 不允许出现键重复 所有的元素都会被自动排序 不能通过迭代器来改变set的值,因为 ...

  8. nrm切换npm源

    使用 nrm 提供了一些最常用的npm包镜像地址,能够让我们快速的切换安装包时候的服务器地址: 全局安装nrm包 npm i nrm -g 查看当前所有可用的镜像源地址以及当前所使用的镜像源地址 nr ...

  9. git学习(十) idea git reset 操作

    git reset 是回滚操作,在 idea 中使用如下: Reset Type 有三种: Mixed 默认方式,只保留源码,回退 commit 和 index 信息 Soft 回退到某个版本,只回退 ...

  10. Parcelable使用(一)

    android有两种序列化方式:一是实现Serializable接口(是JavaSE本身就支持的),二是实现Parcelable接口(是Android特有功能,效率比实现Serializable接口高 ...