我有个简单的功能想实现:
在C++的单文档程序里画了几条线,想创建一个按钮,用它来改变这几条线的颜色虽然简单,可我还是没做出来
我是这样做的:先定义了static COLORREF color;
然后在OnDraw里写如下代码:
color=RGB(255,0,0);
CPen pen;
pen.CreatePen(PS_SOLID,2,color);
CPen* pOldPen=(CPen*)pDC->SelectObject(&pen);
pDC->MoveTo(30,30);
pDC->LineTo(500,500);
pDC->Rectangle(CRect(20,20,100,100));又在自己创建的按钮里写如下代码:
CColorDialog dlg; if(dlg.DoModal()==IDOK)
color=dlg.GetColor();
else
MessageBox("Fail"); CView myView;
myView.OnUpdate();这样对么,后面的选择颜色后如何更新视图的线的颜色呢
在C++的单文档程序里画了几条线,想创建一个按钮,用它来改变这几条线的颜色虽然简单,可我还是没做出来
我是这样做的:先定义了static COLORREF color;
然后在OnDraw里写如下代码:
color=RGB(255,0,0);
CPen pen;
pen.CreatePen(PS_SOLID,2,color);
CPen* pOldPen=(CPen*)pDC->SelectObject(&pen);
pDC->MoveTo(30,30);
pDC->LineTo(500,500);
pDC->Rectangle(CRect(20,20,100,100));又在自己创建的按钮里写如下代码:
CColorDialog dlg; if(dlg.DoModal()==IDOK)
color=dlg.GetColor();
else
MessageBox("Fail"); CView myView;
myView.OnUpdate();这样对么,后面的选择颜色后如何更新视图的线的颜色呢
解决方案 »
- 文件映射内存图像细化(急)
- [散分]开始玩微博了
- WebBrowser应用程序中调用脚本函数并返回结果
- VC中如何操作mysql?
- 有关计算机专业的咨询
- 请问如何去掉单文档分割后的左右侦窗口的滚动条?多谢
- 完成端口问题--为什么每次使用WSARecv投递一个IO操作时,返回来都是ERROR_IO_PENDING。
- 改写了响应WM_HSCROLL的函数,为什么滚动滚动条时,并没有按指定的步长值向右滑动?
- 请问如何将由accept(ss,(struct sockaddr*)&sockaddrin1,&iaddrsize)获得的IP地址转换成字符串?
- 如何快速掌握VC中众多的函数?
- 能显示颜色的控件?
- 急救 如何在打印时把一个数据项居中输出。
没有看出明显的问题。
Invalidate函数。
d:\forth\microsoft visual studio\vc98\mfc\include\afxwin.h(3542) 这个Invalidate函数如何使用呢
除了这个invalidate函数,还有我开始的那个color=RGB(255,0,0);,不应该在
OnDraw函数里面定义呀,放在外面了,OK,谢谢大家
把color作为类成员如何做,能稍微提示下么