在windows编程中,通常的绘图就是DC(设备上下文),一般在应用程序中,我么一般绘制在对话框上显示给用户;
有些时候,如果想在对屏幕上绘图,这么绘制呢?
1: 一般在对话框上绘图:
HDC hdc = GetDC(hwnd); MoveToEx(hdc, ptPrevious.x, ptPrevious.y, NULL); LineTo(hdc, ptPrevious.x = LOWORD(lParam), ptPrevious.y = HIWORD(lParam)); ReleaseDC(hwnd, hdc);
2:根据方法1,可以考虑在桌面上绘图的方法:
HWND hwnd = ::GetDesktopWindow();
HDC hdc = GetDC(hwnd); //绘图; ReleaseDC(hwnd, hdc);但是,却没有在屏幕上绘制的图像;
解决方法:
HDC GetDC( HWND hWnd // handle to window);
Parameters
-
hWnd
- [in] Handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen.
所以, 如果要在屏幕上绘图可以这样获取DC, HDC hdc = ::GetDC(0);