MFC 桌面窗口重绘问题。
我现在想使用VC的MFC,在电脑的桌面上面画一个风车,当然风车要可以在桌面上面转动,这样就需要重绘电脑桌面,但是我试了好几种方法都不行。我用MFC建立的是SDI的程序,如...
我现在想使用VC的MFC,在电脑的桌面上面画一个风车,当然风车要可以在桌面上面转动, 这样就需要重绘电脑桌面,但是我试了好几种方法都不行。我用MFC建立的是SDI的程序,如果用简单的用RedrawWindow()程序运行只能客户区的内容,不能达到我的要求。求各路大神现身啊。。。。
展开
3个回答
展开全部
Invalidate(false)可以,但是屏幕会闪
Invalidate(true)屏幕不闪,但是以前的绘制的不会撤销
Invalidate(true)屏幕不闪,但是以前的绘制的不会撤销
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
得到桌面窗口的句柄,然后再绘图
HWND
GetDesktopWindow(VOID);
HWND
GetDesktopWindow(VOID);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么发了两次啊?使用GetDesktopWindow()得到桌面窗口的句柄,在这窗口中画的图就在桌面了!
HWND GetDesktopWindow(VOID);
HWND GetDesktopWindow(VOID);
更多追问追答
追问
我的问题在于如何重绘,就是如何把前一时刻画的内容擦除。然后再画。
追答
重绘,使用RedrawWindow();可以立即重绘。
Invalidate();也可以的,不过可能有延时。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询