Можно ли из 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