多个图形小弟我只改变一个图形的颜色,但是窗口大小改变时,其他图形颜色也改变了?小弟我应该怎么处理啊
多个图形我只改变一个图形的颜色,但是窗口大小改变时,其他图形颜色也改变了?我应该怎么办啊?
求解啊?我觉得是不是应该相应窗口大小改变的事件啊?不会啊?求解。。部分代码如下:
------解决方案--------------------
请楼主移驾VC/MFC论坛。
求解啊?我觉得是不是应该相应窗口大小改变的事件啊?不会啊?求解。。部分代码如下:
case WM_PAINT:
hdc = ::BeginPaint(hWnd, &ps);
::GetClientRect(hWnd, &rt);
hdc = ::GetDC(hWnd);
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(i=0; i<SEGMENTS; i++)
{
pt[i].x = cxClient*i/SEGMENTS;
pt[i].y = (int)((cyClient/2)*(1 - sin(2*PI*i/SEGMENTS)));
}
// 将各点连在一起
::Polyline(hdc, pt, SEGMENTS);
hdc = ::GetDC(hWnd);
// 设置 DC结构中的文本颜色为红色(下一小节我们再介绍Windows下的颜色)
::SetTextColor(hdc, RGB(255, 0, 0));
// 设置 DC结构中的文本背景颜色为蓝色
::SetBkColor(hdc, RGB(0, 0, 255));
::TextOut(hdc, 300, 200, "最简单的窗口程序!", strlen("最简单的窗口程序!"));
::ReleaseDC(hWnd, hdc);
pen = CreatePen(PS_SOLID,1,RGB(0,255,255));//设为蓝色
SelectObject(hdc,pen);//先选择颜色,后画图!
::MoveToEx(hdc, 70, 100, NULL);
::LineTo(hdc, 200, 200);
DeleteObject(pen);
::EndPaint(hWnd, &ps);
break;
vc++6.0
win32
C++
------解决方案--------------------
请楼主移驾VC/MFC论坛。