读书人

win32改变曲线色彩

发布时间: 2013-03-01 18:33:02 作者: rapoo

win32改变曲线颜色
本人用VC++6.0在win32上画了一个正弦,代码如下:

楼主对画图理解不熟练,下面代码测试通过。
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加任意绘图代码..
RECT rt;
int cxClient=0;
int cyClient=0;
hdc = ::GetDC(hWnd);
HPEN pen = CreatePen(PS_SOLID,1,RGB(255,0,0));//设为红色
POINT pt[500];
::GetClientRect(hWnd, &rt);
cxClient = (rt.right - rt.left)/5;
cyClient = (rt.bottom - rt.top)/5;
::MoveToEx(hdc, 0, cyClient/2, NULL);
::LineTo(hdc, cxClient, cyClient/2);
// 找出500个点的坐标
for(int i=0; i<500; i++)
{
pt[i].x = cxClient*i/500;
pt[i].y = (int)((cyClient/2)*(1 - sin(2*PI*i/500)));
}
SelectObject(hdc,pen);//先选择颜色,后画图!
::Polyline(hdc, pt, 500);
DeleteObject(pen);
EndPaint(hWnd, &ps);
break;
}

[解决办法]

HPEN pen和HPEN old 放到switch语句前面定义
SelectObject(old)改成SelectObject(hdc,old)

引用:
错误提示:
F:\C++workspace\Third_1\SineWave.cpp(100) : error C2660: 'SelectObject' : function does not take 1 parameters


F:\C++workspace\Third_1\SineWave.cpp(119) : error C2360: initializati……

读书人网 >VC/MFC

热点推荐