我试图在屏幕上绘制(整个屏幕上,每个其他窗口的顶部)。
我通过NULL来的GetDC获得HDC到屏幕上,然后用,为了创造一个图形对象,并使用的DrawRectangle到在屏幕上绘制矩形。
一切正常..除...矩形的内部不会更新。在屏幕上绘制与GDI +(或GDI)类似使用GDI +来检查
一样,如果我绘制了一个命令提示符,然后移动命令提示符下,矩形的内部保持黑色。 我期望看到矩形下面有什么。
下面是正在做的绘图代码..
Pen BluePen(Color(255, 0, 255, 0), 2);
Graphics graphics(screenDC);
graphics.DrawRectangle(&BluePen, myRect);
很简单,所以是不是我有做的就是矩形的内部时,屏幕不更新?或者让它真正透明。
=================编辑=================
好吧,我已经放弃了在此之前,并认为这是不可能的,直到......我意识到Windows SDK附带的Inspect工具完美地实现了这一点。
我想重建类似于亮点长方形的东西,如果我选择一个窗口(如Firefox),然后将检查成为关注的焦点,我可以一切都完美地更新自由走动了。 甚至没有任何闪烁。
所以......没有人知道如何检查管理做到这一点?
还回答在GDI而不是GDI +是细...
矩形使用当前笔和当前画笔。 – BitBank 2012-02-18 16:27:05
您只能在窗口上画画。您需要一个分层窗口(WS_EX_LAYERED),透明键与窗口背景相同,请参阅UpdateLayeredWindow()。 – 2012-02-18 16:51:04
@HansPassant谢谢,这正是我所需要的。 – Josh 2012-02-24 18:11:32