MFC应用实例:[23]颜色对话框选择颜色
1、新建一个基于对话框的应用程序,应用程序名称为ColorDialog。
2、对对话框进行如下图的设计添加“颜色”,“退出”两个按钮,并对这两个按钮添加对应的响应函数。
3、对应用程序进行初始化,初始化形成一个红色的椭圆。
在OnInitDialog()函数中添加一下代码:
crColor=RGB(255,0,0); //设置初始颜色
在OnPaint()函数中添加一下代码:
CBrush brush,*pOldBrush;
brush.CreateSolidBrush(crColor);
pOldBrush=dc.SelectObject(&brush); //载入刷子
dc.Ellipse(40,40,220,150); //绘制椭圆
//恢复设备上下文的原有画刷
dc.SelectObject(pOldBrush);
brush.DeleteObject();
注意要在此文档的上方加入COLORREF crColor; //填充颜色定义颜色
4、在颜色按钮的响应函数OnColor()中添加一下代码:
void CColorDialogDlg::OnColor()
{
// TODO: Add your control notification handler code here
CColorDialog colordialog(crColor,CC_FULLOPEN); //初始化颜色对话框对象
if(colordialog.DoModal()==IDOK) //创建颜色对话框
{
crColor=colordialog.GetColor(); //获取设置颜色
Invalidate(TRUE); //重绘窗口
}
}
5、程序运行如下:
6、使用颜色对话框选择绿色颜色后