sproxy
Full Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Цитата: Я таки не первый день замужем... | как спросил - так и ответил =ъ Цитата: Но при этом блокируется пробел во всех программах. Интересует возможность установки кнопок например, по клику мышки, и чтобы это не отражалось на чем-то еще. | тогда сделай проверку: когда окно формы НЕ активно или свернуто или скрыто, то HotKeySet("{SPACE}"), а как только окно формы активно то HotKeySet("{SPACE}","addbutton") и будет тебе счастье )) Добавлено: вот легкий пример вдогонку: Код: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) Global $win_state='' Global $hot_key='' $Form1 = GUICreate("Form1", 633, 454, 193, 115) GUISetOnEvent($GUI_EVENT_RESTORE, 'Form1Show') GUISetOnEvent($GUI_EVENT_MINIMIZE, 'Form1Mini') GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close") GUISetState(@SW_SHOW) HotKeySet("{SPACE}","addbutton") $hot_key = 'yes' $i=0 ;Номер кнопки While 1 Sleep(10) ToolTip('State "Form1":' & @TAB & WinGetState('Form1') & @CRLF & 'State hot key:' & @TAB & $hot_key, 10, 100) If WinGetState('Form1') <> 15 Then Form1Mini() Else Form1Show() EndIf WEnd Func Form1Show() If $win_state <> 'active' Then HotKeySet("{SPACE}","addbutton") $hot_key = 'yes' $win_state = 'active' EndIf EndFunc Func Form1Mini() If $win_state == 'active' Then HotKeySet("{SPACE}") $hot_key = 'no' $win_state = 'no active' EndIf EndFunc Func Form1Close() HotKeySet("{SPACE}") $hot_key = 'no' Exit EndFunc func addbutton() $i=$i+1 $a=MouseGetPos() $b=WinGetPos("Form1") GUICtrlCreateButton("",$a[0]-$b[0]-10,$a[1]-$b[1]-27,17,17) IniWrite("c:\buttons.ini","button"&$i,"xpos",$a[0]-$b[0]-10) IniWrite("c:\buttons.ini","button"&$i,"ypos",$a[1]-$b[1]-27) EndFunc |
|