MFC多选框,单选框应用 画单色图形(三)

设计界面 Check为复选框 radio为单选框
在这里插入图片描述
找到初始化函数,设置单选框初始值
在这里插入图片描述
CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO2);//选择两个选框,在其中选中一个显示。

// TODO: 在此添加额外的初始化代码
	CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO2);

选择以后check选框,添加处理函数
在这里插入图片描述

在这里插入图片描述

void CMFCday2BDlg::OnBnClickedCheck3()
{
	// TODO: 在此添加控件通知处理程序代码
	Invalidate();//清空界面
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

BOOL CMFCday2BDlg::OnEraseBkgnd(CDC* pDC)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值

	BOOL bRet= CDialogEx::OnEraseBkgnd(pDC);

	int nRed,nGreen,nBlue;// 存放颜色值
	nRed=m_chk_red.GetCheck()? 255:0;//m_chk_red为check的成员变量 
	nGreen=m_chk_green.GetCheck()?255:0;//按下赋值nGreen
	nBlue=m_chk_blue.GetCheck()?255:0;

	COLORREF crFore=RGB(nRed,nGreen,nBlue);//设置颜色RGB
	CBrush brush;//创建新笔刷
	brush.CreateSolidBrush(crFore);//创建单色画刷 给定颜色
	CBrush*pOldBrush=pDC->SelectObject(&brush);//保存旧的画刷 背景

	RECT rc={50,20,150,120};//指定画图范围 前两值为顶点坐标 后两值为图形大小
	if(m_rd_rect.GetCheck())
	{
		pDC->Rectangle(&rc);//画矩形

	}
	else
	{
		pDC->Ellipse(&rc);//画圆形
	}
	pDC->SelectObject(pOldBrush);//
	return bRet;
}

添加代码 使得程序 选框相互独立

void CMFCday2BDlg::OnBnClickedCheck2()
{
	// TODO: 在此添加控件通知处理程序代码
	OnBnClickedCheck3();

}


void CMFCday2BDlg::OnBnClickedCheck1()
{
	// TODO: 在此添加控件通知处理程序代码
	OnBnClickedCheck3();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值