Можно ли из Delphi рисовать в любой части экрана или в чужом окне? |
Previous Top Next |
Для этого надо воспользоваться функциями API. Получить контекст чужого окна, либо всего экрана:
Code: |
function GetDC(Wnd: HWnd): HDC; |
где Wnd - указатель на нужное окно, или 0 для получения контекста всего экрана.
И далее, пользуясь функциями API, нарисовать все что надо.
Code: |
PROCEDURE DrawOnScreen; VAR ScreenDC: hDC; BEGIN ScreenDC := GetDC(0); {получить контекст экрана} Ellipse(ScreenDC, 0, 0, 200, 200); {нарисовать} ReleaseDC(0,ScreenDC); {освободить контекст} END; |
Не забывайте после своих манипуляций посылать пострадавшим (или всем) окнам сообщение о необходимости перерисовки, для восстановления их первоначального вида.
Зайцев О.В.
Владимиров А.М.
©Drkb::03822
Взято из http://forum.sources.ru