本文将介绍MFC的常用控件编辑框,按钮,静态文本的使用,并且将介绍几个函数的使用方法,具体的使用将会在一个简单的
MFC应用程序中体现出来。下面将详细介绍使用MFC制作一个小软件来计算矩形的面积以及周长。具体步骤如下:
1.使用MFC向导创建一个基于对话框的MFC风格的对话框,如下图:
2.删除“TODO:在此放置对话框控件”,添加编辑框,静态文本,按钮等控件,将对话框名修改为"矩形的计算" . 并修改每个控件的属性,分别为IDC_EDIT_LENGTH , IDC_EDIT_WIDTH , IDC_EDIT_RESULT , IDC_BUTTON_AREA , IDC_BUTTON_C .如下图:
3.在对话框左键双击"矩形面积按钮",页面将跳转到按钮的函数响应位置,在对应位置添加如下代码:
char ch1[10],ch2[10],ch3[10];
int length,width,area;
::GetWindowText(::GetDlgItem(m_hWnd,IDC_EDIT_LENGTH),ch1,10); //获取长编辑框的内容
::GetWindowText(::GetDlgItem(m_hWnd,IDC_EDIT_WIDTH),ch2,10); //获取宽编辑框的内容
length=atoi(ch1); //将长编辑框中的字符装换为整型
width=atoi(ch2); //将宽编辑框中的字符转换为整型
area=length*width;
_itoa_s(area,ch3,10); //将结果编辑框的整型值转换为字符型
::SetWindowText(::GetDlgItem(m_hWnd,IDC_EDIT_RESULT),ch3); //将结果显示在结果编辑框中
注意:建议将VS2010的默认字符集设置成“未设置”,在项目->属性->常规->字符集中设置. 否则可能由于窄宽字节的不兼容导致改段的程序不兼容而报错.
在GetWindowText()和SetWindowText()函数前面加了作用域限定符号是因为这两个函数是全局函数.
GetWindowText()函数作用:该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内
GetDlgItem()函数作用:返回窗口中指定参数ID的子元素的句柄
SetWindowText()函数作用:改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控件,则改变控件的文本内容
atoi()函数作用:将字符转换成整型
_itoa_s()作用:j将整型数据转换成字符型
4.计算结果如下图,所需要的功能已经基本上实现,矩形的周长的计算和矩形面积的计算十分相似,故不在此赘述.但是改程序不适用与浮点数据的计算.计算结果如下图: