Что нового

Как назначить действие по двойному клику мыши на значок в трее (ModernMenuRaw)

pvnn

Осваивающий
Сообщения
305
Репутация
32
ModernMenu позволяет создавать расширенное меню для GUI и Tray
http://autoit-script.ru/index.php/topic,12136.0.html

Команда
Код:
_TrayIconSetClick(-1, 10)
позволяет выбрать тип активизации меню, например параметр 10 - определяет выбор меню левой и правой клавишами мыши.

А как можно назначить действие по двойному клику на сам значок в трее,
Например развернуть окно программы?

Код:
#include <GUIConstantsEx.au3>
#include "ModernMenuRaw.au3"

#NoTrayIcon

$hMainGUI		= GUICreate("Sample Menu")
GUISetState()

; *** Create the tray icon ***
$nTrayIcon1		= _TrayIconCreate("Tools", "shell32.dll", -13)
_TrayIconSetClick(-1, 10)
_TrayIconSetState() ; Show the tray icon

; *** Create the tray context menu ***
$nTrayMenu1		= _TrayCreateContextMenu()
$TrayShow		= _TrayCreateItem("Show...")
				  _TrayCreateItem("")
				  _TrayItemSetIcon(-1, "", 0)
$TrayExit		= _TrayCreateItem("Exit")

_TrayItemSetIcon($TrayShow, "shell32.dll", -25)
_TrayItemSetIcon($TrayExit, "shell32.dll", -28)
_TrayIconSetState()

; Main GUI Loop
While 1
	$Msg = GUIGetMsg()

	Switch $Msg
		Case $GUI_EVENT_CLOSE
			 GUISetState(@SW_HIDE,$hMainGUI)
		Case $TrayShow
			 GUISetState(@SW_SHOW,$hMainGUI)
		Case $TrayExit
			 _TrayIconDelete($nTrayIcon1)
			 Exit
	EndSwitch
WEnd
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Код:
...

$nTrayIcon1     = _TrayIconCreate("Tools", "shell32.dll", -13, '_Tray_Callback')
_TrayIconSetClick(-1, 16)

...
 
Func _Tray_Callback($iID, $iMsg)
	Switch $iID
		Case $nTrayIcon1
			Switch $iMsg
				case $WM_LBUTTONDBLCLK
					GUISetState(@SW_SHOW, $hMainGUI) ; Restore/put focus back to our main GUI
			EndSwitch
	EndSwitch
EndFunc
 
Автор
P

pvnn

Осваивающий
Сообщения
305
Репутация
32
Спасибо большое CreatoR!

Все заработало! :IL_AutoIt_1:

Тема решена.
 
Верх