MFC---常用控件(上)(静态文本框,普通按钮,编辑框)

静态文本框CStatic

静态文本框是最简单的控件,它主要用来显示文本信息,不能接受用户输入,一般不需要连接变量,也不需要处理消息。

静态文本框的重要属性有

  • ID:所有静态文本框的缺省ID都是IDC_STATIC,静态ID,不响应任何消息(事件)
  • Caption:修改显示的内容

常用接口

)

关联控件变量

由于XXX_STATIC静态ID是不能关联变量,故需把ID修改后,再关联变量:
在这里插入图片描述

在这里插入图片描述

在主对话框类OnInitDialog()中,完成相应接口测试:
在这里插入图片描述

	//设置静态控件内容为Tom
	m_label.SetWindowText(TEXT("Tom"));

	//获取静态控件的内容
	CString str;
	m_label.GetWindowText(str);
	MessageBox(str);

	//用static_Text显示图片
	//设置静态控件窗口风格为位图居中显示 b
	m_pic.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);

	//通过路径获取bitmap句柄
    #define HBMP(filepath,width,height) (HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,height,LR_LOADFROMFILE|LR_CREATEDIBSECTION)

	//宽高设置 应该按照 控件的大小去设置
	CRect rect;
	m_pic.GetWindowRect(rect);

    //静态控件设置bitmap
	m_pic.SetBitmap(HBMP(TEXT("./1.bmp"), rect.Width(), rect.Height()));

普通按钮 CButton

在这里插入图片描述

按钮是最常见的、应用最广泛的一种控件。在程序执行期间,当单击某个按钮后就会执行相应的消息处理函数。
按钮的主要属性是Caption,来设置在按钮上显示的文本。

命令按钮处理的最多的消息是:BN_CLICKED,双击按钮即可跳转到处理函数。或者,通过按钮属性 -> 控制事件 -> 选择所需事件,添加处理函数:
在这里插入图片描述

//按钮BN_CLICKED事件处理函数
void CMFCApplication2Dlg::OnBnClickedButton1()
{
	// TODO:  在此添加控件通知处理程序代码
}

常用接口

在这里插入图片描述

关联控件变量

在这里插入图片描述

在主对话框类OnInitDialog()中,完成相应接口测试:
在这里插入图片描述

//获取按钮的内容

	CString str;
	m_button.GetWindowText(str);
	MessageBox(str);

	//设置按钮内容
	m_button.SetWindowText(TEXT("^_^"));

	//设置按钮状态为灰色
	m_button.EnableWindow(FALSE);

编辑框CEdit

在这里插入图片描述

常用属性设置

常用接口

在这里插入图片描述

关联变量

关联控件变量

在这里插入图片描述

在主对话框类OnInitDialog()中,完成相应接口测试:

//设置按钮内容
	m_edit.SetWindowText(TEXT("this is a test"));

	//获取按钮的内容
	CString str;
	m_edit.GetWindowText(str);
	MessageBox(str);

关联基本类型变量

在这里插入图片描述

若一个编辑框连接了一个Value类别的变量,则该变量就表示这个编辑框,编辑框中显示的内容就是变量的值。

但是,改变了编辑框的内容并不会自动更新对应的变量的值,同样,改变了变量的值也不会自动刷新编辑框的内容。若要保持一致,需要使用UpdateData()函数更新:

  • 若编辑框的内容改变了,则应使用语句UpdateData(TRUE) 获取对话框数据
  • 若变量的值改变了,则应使用语句UpdateData(FALSE) 初始化对话框控件

在这里插入图片描述

在主对话框类OnInitDialog()中,完成相应代码测试:


void CMy03EditCtrlDlg::OnBnClickedButton3()
{
	// TODO: 在此添加控件通知处理程序代码

	//利用关联value的方式 设置和改变edit的内容

	//设置内容
	m_text = TEXT("哈哈");

	//将变量内容同步到控件中
	UpdateData(FALSE);
}




void CMy03EditCtrlDlg::OnBnClickedButton4()
{
	// TODO: 在此添加控件通知处理程序代码
	//获取内容
	//将控件中的内容 同步到变量中
	UpdateData(TRUE);

	MessageBox(m_text);
}

组合框(下拉框) CComboBox

在这里插入图片描述

常用属性设置:

常用接口:

在这里插入图片描述

关联控件变量后,测试接口:

//添加字符串内容
	m_combo.AddString(TEXT("可乐")); 
	m_combo.AddString(TEXT("雪碧"));

	m_combo.SetCurSel(1);//显示显示第1项

	//获取组合框中当前选中项的下标
	int index = m_combo.GetCurSel(); 
	CString str;
	m_combo.GetLBText(index, str); //获取指定下标的内容
	MessageBox(str);

	m_combo.DeleteString(0); //删除第0项字符串
	
	m_combo.InsertString(0, _T("hello")); //在第0位置插入“hello”

组合框常用的事件为:CBN_SELCHANGE,当选择组合框某一项时,自动触发此事件。
在这里插入图片描述

void CMFCApplication2Dlg::OnCbnSelchangeCombo1()
{
	// TODO:  在此添加控件通知处理程序代码
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Frank---7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值