桌面绘图
发布网友
发布时间:2022-04-26 21:42
我来回答
共4个回答
热心网友
时间:2023-11-06 15:26
WIN32 SDK:
HDC dc = GetDC(NULL);
MFC:
CWindowDC dc(NULL);
其实这样做和直接写显存的效果差不多,会直接出现在屏幕上,不属于任何一个窗体,所以你也得不到重绘消息,会出现被其它图象覆盖的现象。
还有一个方法就是用置前的透明窗体,WINDOWS 2K以上操作系统支持,只是还是在窗体上画,不符合要求了,不过这样效果比较好。
热心网友
时间:2023-11-06 15:26
获得桌面窗口的句柄HWND GetDesktopWindow(VOID);
通过其DC,GetDC来获得设备句柄HDC;
然后就可以绘图了。
热心网友
时间:2023-11-06 15:27
CWindowDC dc(this);
CWindowDC dc(GetParent());
CWindowDC dc(GetDesktopWindow());
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
热心网友
时间:2023-11-06 15:27
其实在桌面上绘图也非真正的在桌面上绘图,它只不过是调用了桌面背景截图并让程序界面全屏显示,退出程序时,桌面没有任何修改。
热心网友
时间:2023-11-06 15:26
WIN32 SDK:
HDC dc = GetDC(NULL);
MFC:
CWindowDC dc(NULL);
其实这样做和直接写显存的效果差不多,会直接出现在屏幕上,不属于任何一个窗体,所以你也得不到重绘消息,会出现被其它图象覆盖的现象。
还有一个方法就是用置前的透明窗体,WINDOWS 2K以上操作系统支持,只是还是在窗体上画,不符合要求了,不过这样效果比较好。
热心网友
时间:2023-11-06 15:26
获得桌面窗口的句柄HWND GetDesktopWindow(VOID);
通过其DC,GetDC来获得设备句柄HDC;
然后就可以绘图了。
热心网友
时间:2023-11-06 15:27
CWindowDC dc(this);
CWindowDC dc(GetParent());
CWindowDC dc(GetDesktopWindow());
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
热心网友
时间:2023-11-06 15:27
其实在桌面上绘图也非真正的在桌面上绘图,它只不过是调用了桌面背景截图并让程序界面全屏显示,退出程序时,桌面没有任何修改。