Я пытаюсь нарисовать на экране (весь экран, поверх всех остальных окон), используя GDI +.
Я передал NULL в GetDC, чтобы вывести HDC на экран, а затем использовал его длясоздайте объект Graphics и использовали DrawRectangle для рисования прямоугольников на экране.
Все работает ... за исключением ... внутренняя часть прямоугольника не обновляется.
Как если бы я рисовал его над командойи переместите командную строку, внутренняя часть прямоугольника остается черной.Я ожидаю увидеть, что находится под прямоугольником.
Вот код, который выполняет рисование ..
Pen BluePen(Color(255, 0, 255, 0), 2);
Graphics graphics(screenDC);
graphics.DrawRectangle(&BluePen, myRect);
Довольно просто, так что я должен что-то сделать, чтобы получить внутрипрямоугольник для обновления, когда экран делает?Или чтобы он был действительно прозрачным.
================= РЕДАКТИРОВАТЬ =================
Я отказался от этого и предположил, что это невозможно, пока ... Я не понял, что инструмент Inspect, поставляемый с Windows SDK, делает это прекрасно.
Я хотел бы воссоздать что-то похожее на выделенный прямоугольник, и если я выберу окно (например, Firefox), а затем перенесу Inspect в фокус, я могу свободно перемещать его, когда все будет идеально обновляться.Даже мерцания нет.
Итак ... кто-нибудь знает, как Inspect удается это сделать?
Также ответы в GDI вместо GDI + хороши ...