2 landengluo landengluo 于 2013.07.18 02:11 提问

VS2010编程的出现的小问题

小白最近刚刚入门VS2010,先贴代码吧:
case WM_PAINT: {
// hdc = BeginPaint(hWnd, &ps);
hdc = GetDC(hWnd);
HPEN pen = CreatePen(PS_SOLID, 5, RGB(255, 0, 0));
HPEN oldPen = (HPEN)SelectObject(hdc, pen);
MoveToEx(hdc, 100, 100, NULL);
LineTo(hdc, 400, 300);
SelectObject(hdc, oldPen);
DeleteObject(pen);

    HBRUSH redBrush = CreateSolidBrush(RGB(255, 255, 0));
    HBRUSH oldBrush = (HBRUSH)SelectObject(hdc, redBrush);
    Rectangle(hdc, 100, 100, 400, 300);
    SelectObject(hdc, oldBrush);
    DeleteObject(redBrush);


    ReleaseDC(hWnd, hdc);
//  EndPaint(hWnd, &ps);
    return 0;
    }

如上代码是在WndProc函数里面的,我在使用BeginPaint和EndPaint来完成画图的时候发现它一直显示的是一个方块,这很正常,然而用GetDC以及ReleaseDC时候会发生快速的闪烁,请问这两种方法有什么区别吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!