+ -
当前位置:首页 → 问答吧 → win32 重绘时上次绘制的信息未被擦除

win32 重绘时上次绘制的信息未被擦除

时间:2011-12-25

来源:互联网

C/C++ code

    case WM_MOUSE_HOOK_MESSAGE:
        mhs            = (MOUSEHOOKSTRUCT*)lParam;
        wsprintf(szPostionInfo, "(%d,%d)", mhs->pt.x, mhs->pt.y);
        hdc            = GetDC(hwnd);
        TextOut(hdc, 10, 10, szPostionInfo, strlen(szPostionInfo));
        ReleaseDC(hwnd, hdc);
        break;
    
    case WM_MOUSEMOVE:
        GetCursorPos(&pt);
        GetClientRect(hwnd, &rt);
        wsprintf(szPostionInfo, "(%d,%d)", pt.x, pt.y);
        hdc        = GetDC(hwnd);
        TextOut(hdc, 10, 10, szPostionInfo, strlen(szPostionInfo));
        ReleaseDC(hwnd, hdc);
        
        break;


第一个消息是钩子发过来的
不论在捕捉到哪个消息的时候进行重绘
都会有一些背景未被擦除 很难看
绘制上去的字符串是这样被格式化的:
C/C++ code

wsprintf(szPostion, "Location: (%d, %d)\n", pmhs->pt.x, pmhs->pt.y);


谁能告诉我 该怎样绘图才是正确的方式(不会出现残留的背景)?

作者: withrock   发布时间: 2011-12-25

绘制前重绘背景

作者: bukebushuo   发布时间: 2011-12-25

引用 1 楼 bukebushuo 的回复:

绘制前重绘背景

兄弟 能说具体点么?
在哪个位置前面加重绘背景的函数 啊?

作者: withrock   发布时间: 2011-12-25

热门下载

更多