1 (изменено: G0r, 2011-03-31 15:29:27)

Тема: AHK: GUI, при клике по форме убирать активность

Здравствуйте.
Такая проблема:
Нужно сделать, что-бы при клике по форме, она не становилась активной.
Имеется код, который рисует по центру экрана крест:

cX = %A_ScreenWidth%
cY = %A_ScreenHeight%
cX  /= 2
cY /=2
gui, font,w800 cRed s12,
Gui, Add, Text,, X
Gui, Color, EEAA99
Gui, +Lastfound
WinSet TransColor, EEAA99
Gui, -Caption +AlwaysOnTop
Gui, Show, x%cX% y%cY% N

Этот крест всегда поверх всех окон. Но проблема в том, что если кликнуть по этому кресту, форма с ним становится активной.
Подскажите, как это исправить?

2 (изменено: ilya20069, 2011-03-31 16:01:57)

Re: AHK: GUI, при клике по форме убирать активность

Gui, +Disabled

Крест не по центру, смещен на 20 пикселей по обеим осям. И в полноэкранных приложениях не отображается.

3

Re: AHK: GUI, при клике по форме убирать активность

Изменений нету.

Отображается во всех приложениях.

4

Re: AHK: GUI, при клике по форме убирать активность

WS_EX_TRANSPARENT := 0x20
WS_EX_LAYERED := 0x80000

Gui, -Caption +AlwaysOnTop +Lastfound +ToolWindow
WinGet, ID
Gui, Color, EEAA99
WinSet TransColor, EEAA99
gui, font,w800 cRed s12,
Gui, Add, Text,, X
Gui, Show, NA
WinSet, ExStyle, % "+" WS_EX_TRANSPARENT | WS_EX_LAYERED, ahk_id %ID%

G0r, координаты, как они рассчитаны у тебя, делают по центру экрана не перекрестье буквы "Х", а левый верхний угол контрола Text. Чтобы сделать идеально по центру, нужно его не буквой писать, а рисовать в нужных координатах.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: GUI, при клике по форме убирать активность

Спасибо!
А можно сместить крест на 20 пикселов вниз? А то в вашем решении я не вижу переменной с иксом и игриком.

6

Re: AHK: GUI, при клике по форме убирать активность

Можно, я просто без координат сделал, всё равно точно не получится. И ещё, в данном примере строчку

WinSet, ExStyle, % "+" WS_EX_TRANSPARENT | WS_EX_LAYERED, ahk_id %ID%

можно заменить на

WinSet, ExStyle, % "+" WS_EX_TRANSPARENT, ahk_id %ID%

Стиль WS_EX_LAYERED присваивается, по-моему, при выполнении команды WinSet, TransColor.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: GUI, при клике по форме убирать активность

Простите, а как? WinMove не получается, тк окошко не создается. Координат тоже невижу...

8

Re: AHK: GUI, при клике по форме убирать активность

Все понял как. Спасибо большое!