Delphi Drawing Focus - PullRequest
       6

Delphi Drawing Focus

1 голос
/ 20 февраля 2010

Я использую следующий код, чтобы сделать мою форму полностью прозрачной, чтобы клики могли «проходить» через нее в других окнах.

SetWindowPos( handle, HWND_TOPMOST, 0, 0, 0,0,
                   SWP_NOSIZE or SWP_NOMOVE );
SetWindowLong(form1.handle,GWL_EXSTYLE,WS_EX_TOPMOST or WS_EX_LAYERED);
SetLayeredWindowAttributes(form1.handle,RGB(0,0,0),200,LWA_ALPHA or LWA_COLORKEY);

Моя проблема в том, что когда я начинаю рисовать на форме, на этих рисунках можно щелкнуть, и форма Delphi сфокусируется. Я хочу рисовать, чтобы эти рисунки не были «кликабельными».

Надеюсь, я был достаточно ясен. Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 20 февраля 2010

Либо дайте вашему окну стиль окна WS_EX_TRANSPARENT, либо обработайте сообщение WM_NCHITTEST и верните HTTRANSPARENT. см. этот связанный пост для примера (Windows API) WM_PAINT Проблемы с мышью

1 голос
/ 20 февраля 2010

Вам также необходимо установить расширенный стиль окна WS_EX_TRANSPARENT.

...