用mfc设计一个指针式时钟,如何通过菜单实现其三个指针的自定义颜色设置,跪求大神指导
2个回答
展开全部
指针是怎么弄上去的?是绘制的线条的话换成别的颜色的画笔绘制就行了;如果是位图的话,换成别的颜色的图片。
追问
是通过绘制的,现在我想通过菜单设置来改变指针颜色,比如点击设置时针颜色菜单,就可以自定义指针颜色
追答
设置一个"颜色"变量,绘制前选择颜色为变量中的颜色的画笔(或者画刷)。在菜单的响应函数中,更改变量的值,然后重绘客户区,指针的颜色就改变了。设置颜色可以用CColorDialog(颜色选择对话框)。
在定义一个成员变量或者全局变量,COLORREF clr。
在构造函数中初始化下,clr=RGB(255,0,0); //红色
在绘制线条前,把dc的设置为颜色为clr的画笔:
CPen pen(PS_SOLID,1,clr);
CPen* pOldPen=pDC->SelectObject(&pen);
............绘制指针
pDC->SelectObject(pOldPen);
在菜单响应函数中,用CColorDialog来获取用户选择的颜色。
CColorDialog dlg(clr CC_FULLOPEN);
if( dlg.DoModal()==IDOK)
{
clr=dlg.GetColor()//获取用户选择的颜色
Invalidate();//重新绘制客户区显示更新
}
(代码可能有错误,举例说明而已。。。)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询