MFC控件的使用方法(六-十(组合框控件,单选控件,静态文本控件,图片控件,滚动条控件))

六、组合框控件(Group Box)

作用:组合框控件的作用就是将MFC中的控件标识为一组控件来使用:只能选择其中的一个控件(如性别选择,当选择男时,女不被选择;当选择女时男不被选择)。
消息映射函数:

使用方法:
1、设置组合框的属性Group,将组合框的Group属性设置为TRUE,将组合框中其他的控件的Group属性设置为FALSE。
2、获取组合框选中的元素。(GetChecedRadioButton)
3、设置组合框需要选中的元素(( CButton *)GetDlgItem(IDC_GG ) )–>SetCheck( TRUE ))

七、单选控件(Redio Button)

作用:在一组选中按钮中只能选择一个按钮,一般和组合控件一起使用。
消息映射函数:
小编初学,暂时不知
使用方法:
1、向对话框中放入几个单选框,如果使用组合框控件据需要将组合框控件中的Group设置为TRUE,弱不使用组合框控件,那么就需要将单选框的第一个控件的Group属性设置为True
2、获取组合框选中的元素。(GetChecedRadioButton(1,2))1代表单选框的开始ID,2代表结束ID。
3、设置组合框需要选中的元素(( CButton *)GetDlgItem(IDC_GG ) )–>SetCheck( TRUE ))

八、静态文本控件(Static Text)

作用:在页面中显示静态文本,不可再静态文本中输入值,只能作为界面显示的控件。
消息映射函数:

使用方法:
1、可以通过手动修改控件的的属性来显示静态文本框要显示的值。
2、可以通过创建数值型变量,通过UpdateData(false)来改变静态文本的值
3、也已通过创建控件型变量,通过调用SetWindowsText(str)函数向静态文本写值。

九、图片控件(Picture Control)

作用:用来在对话框中显示图片的控件。
消息映射函数:无
使用方法:
1、首选导入位图到Bitmap资源中。
2、设置图片控件的type属性为Bitmap,之后再设置属性Image,选择要显示的图片。
3、使用LoadBitmap函数加载图片,获得图片句柄,在通过图片控件的控件变量调用SetBitmap(句柄)函数来显示图片。

十、滚动条控件(Horizontal Scroll Bar 和Vertical Scroll Bar)

作用:在对话框中横向显示不下要显示的类容的时候,会使用横向滚动条来查看显示不下的类容。
消息映射函数:无
使用方法:
1、首先对滚动条初始化使用CROLLINFO,之后设置滚动条的最大值和最小。
2、添加ON_WM_HSCROLL()或ON_WM_VSCROLL()消息映射函数,当滚动条改变之后,会调用此函数。
3、在此函数中通过GetScrollInfo(&si);函数获取滚动条的信息(当前位置)。
例如:

	SCROLLINFO  si = {0}; //初始化滚动条
	si.cbSize = sizeof(si);
	si.fMask = SIF_RANGE | SIF_PAGE;//打开滚动条设置开关
	si.nMax = 100;//设置最大值
	si.nMin = 0;//设置最小值
	si.nPage = 10;//设置一页能翻过去多少

```cpp
void C滚动条Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
	// TODO:  在此添加消息处理程序代码和/或调用默认值
	//获取当前滚动栏的信息
	SCROLLINFO si = {0};
	si.cbSize = sizeof(si);
	si.fMask = SIF_ALL;
	pScrollBar->GetScrollInfo(&si);//获取滚动条的信息

	int nNewPos = si.nPos;
	switch (nSBCode)
	{
	case SB_THUMBTRACK: //拖动滑块
		nNewPos = nPos;
		break;
	case SB_LINELEFT://点击滑动条的左边
		nNewPos -= 2;
		break;
	case SB_LINERIGHT://点击滑动条的右边
		nNewPos += 2;
		break;
	case SB_PAGELEFT://点击滑动条左边的区域,滑动条向左移动一页
		nNewPos = nNewPos - 10;
		break;
	case SB_PAGERIGHT://点击滑动条右边的区域,滑动条向右移动一页
		nNewPos = nNewPos +10;
		break;
	default:
		break;
	}
	if (nNewPos < 0)
	{
		nNewPos = 0;
	}
	if (nNewPos > 100)
	{
		nNewPos = 100;
	}
	CString s;
	s.Format(_T("%d"), nNewPos);
	m_edit = s;
	UpdateData(FALSE);
	m_scroll.SetScrollPos(nNewPos);//设置滚动条的位置
	CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值