C++ MFC学习笔记(第一课)

C++ MFC学习(第一课)

在第一节课学习了简单的基于对话框程序,通过设置可编辑文本框,静态文本框,一组RadioButton以及Button来实现两个数通过选择计算方式的出结果的一个小程序。下面使用的是Visual C++ 2019版本。

流程

1.新建一个基于对话框的程序

在新建项目中选择MFC应用,设置好名称和位置后点击下一步(名称要不能出现中文),应用程序类型选择基于对话框就可以直接点击完成。
C++ MFC学习笔记(第一课)_第1张图片
C++ MFC学习笔记(第一课)_第2张图片

2.进入可编辑界面

在解决方案资源管理器中点击资源文件,选择.rc或.rc2后缀的文件点击。在Dialog中点击IDD_名称_DIALOG就可以进入可编辑的界面。工具箱可以在视图中找到。
C++ MFC学习笔记(第一课)_第3张图片
这里放置了三个Edit Control,三个Static Text,四个RadioButton以及一个Button。组件属性中可以修改名称样式限输入数字之类的。
C++ MFC学习笔记(第一课)_第4张图片

3.设置变量

在可编辑文本框右键点击添加变量,类别改为值,变量类型改为double类,设置好名称点击完成。这里要给三个可编辑文本框设置变量。
C++ MFC学习笔记(第一课)_第5张图片

4.设置事件处理程序

右键Button,点击添加事件处理程序,类列表要选择Dlg的。
C++ MFC学习笔记(第一课)_第6张图片
在头文件DLAG名称Change.h中能看到自己刚刚设置的变量。

void CChAngedlgDlg::OnBnClickedButton1()
{
	UpdateData(1);//将文本框的数据同步到变量
	int op = GetCheckedRadioButton(IDC_RADIO1, IDC_RADIO4);
	switch (op)
	{
	case IDC_RADIO1:number3 = number1 + number2; break;
	case IDC_RADIO2:number3 = number1 - number2; break;
	case IDC_RADIO3:number3 = number1 * number2; break;
	case IDC_RADIO4:if (number2 == 0)
		number3 = 0;
				   else number3 = number1 / number2; break;
	default:break;
	}
	UpdateData(0);//将变量同步回文本框
	// TODO: 在此添加控件通知处理程序代码
}

这样等号按钮的事件触发就设置好了。

函数 功能
UpdateData(bool a) 后面参数默认为1,1的时候将文本框的值同步到变量中,0的时候将变量的值同步回文本框中。
GetCheckedRadioButton(int a,int b) 找出Radio Buttonid从a到b中被选中的值并返回。

接下来就生成就可以了。
C++ MFC学习笔记(第一课)_第7张图片
另外,学习了点击按钮后将按钮文本改变的操作。
我们新建一个Button,然后添加变量,这次变量类型是控件类型。
C++ MFC学习笔记(第一课)_第8张图片
点击完成后再为该按钮添加事件处理程序,类列表也是Dlg的。

void CChAngedlgDlg::OnBnClickedButton3()
{
	button2.SetWindowTextW(L"贴了一下");
}
函数 功能
对象名.SetWindowTextW() 将窗口的标题设置成后面的字符形式(如果控件有标题)

函数后面的W表示用双字节字符,字符串前面要加个L。对应的还有函数SetWindowTextA(),表示用单字节字符。
详细参考:https://www.cnblogs.com/zhangbing12304/p/11118222.html
点击后就变成参数设置的字符形式了。
C++ MFC学习笔记(第一课)_第9张图片

你可能感兴趣的:(#,C++,MFC)