我試圖在屏幕上繪製(整個屏幕上,每個其他窗口的頂部)。
我通過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