在现有窗口上绘画

时间:2014-03-03 21:51:13

标签: c++ winapi mfc

我试图在现有窗口上绘画。最后我想在窗户周围画一个边框。但是现在我只是想在窗户上画画。这就是我正在做的事情

static PAINTSTRUCT ps;
static HDC hDC;

RECT rect;
rect.left = 0; 
rect.right = 100; 
rect.top = 0; 
rect.bottom = 100;

HBRUSH hBrush = CreateSolidBrush(RGB(50,100,255));
HWND hWnd = FindWindow("Notepad++", 0);
hDC = BeginPaint(hWnd, &ps);

    FillRect(hDC, &rect, hBrush);

EndPaint(hWnd, &ps);

不幸的是,这对记事本窗口没有任何作用。我错过了什么吗?有什么建议吗?

1 个答案:

答案 0 :(得分:4)

BeginPaint和EndPaint仅在处理WM_PAINT消息时适用。它们会为您提供剪切到无效区域的HDC。

如果你在绘画之外使用GetDC()来使HDC使用。