Привет, народ.
Делаю подобную прогу
Прога уже правильно определяет контрол под указателем мыши и его параметры (прямоугольник, стиль и прочее). Но хотелось бы, чтобы "выбранный" элемент обводился рамкой, как это сделано в Spy++.
Не знаю, как подступится.
Первая мысль была использовать API InvertRect два раза, первый раз по внешнему контуру, потом по внутреннему, чтобы осталась инвертированная рамка. Но это неправильно, в Spy наложенная рамка не рисуется поверх самого окна Spy.
Вторая мысль была рисовать в буфере прямоугольник нужного размера и накладывать его на экран. Тоже неправильно.
Вообще, рисование на DC экрана -- это неправильный подход, т.к. если окно перерисуется по какой-то причине, то рамке капут
Правильным было бы наложение какого-нибудь объекта (например, окна с вырезанной серединой), который бы инвертировал все, что находится под ним, но мне раньше не доводилось делать "экранные линзы", поэтому не знаю, с чего начать.
Может у кого будут правильные мысли?