Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Вызов GUI в ModernMenuRaw

Ответить
Настройки темы
Вызов GUI в ModernMenuRaw

Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Вложения
Тип файла: rar ModernMenuRaw.rar
(13.6 Kb, 22 просмотров)
Прикрутил себе в программу эту библиотеку - ModernMenuRaw.au3
Прикладываю во вложениях...
Дак никак не ммогу понять как она вызывает то самое меню при нажатии на иконку в трее.
нашол в библиотеке такую строчку:
Код: Выделить весь код
GUIRegisterMsg($TRAYTIPMSG, "_TrayWndProc")
Но она находится до создания самого меню, т.е. вообще не в функциях, а в теле библиотеки.

Суть в следующем, нужно чтоб это меню вызывалось не только при нажатии на иконку в трее, но и по нажатию средней кнопки мыши в любом месте и появлялось рядом с курсором.

-------
Хочу научиться писать драйвера на с++


Отправлено: 11:39, 30-09-2010

 

Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


_Up

-------
Хочу научиться писать драйвера на с++


Отправлено: 18:56, 11-11-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


Цитата morgan1991:
Суть в следующем, нужно чтоб это меню вызывалось не только при нажатии на иконку в трее, но и по нажатию средней кнопки мыши в любом месте и появлялось рядом с курсором. »
Врятли можно чтото другое придумать, кроме такого (имею ввиду суть, а код - это только наброска):
Код: Выделить весь код
#NoTrayIcon 
#include <Misc.au3>
#include "ModernMenuRaw.au3" ; Only unknown constants are declared here 

$Transparent_Gui = GUICreate("Transparent Window", 40, 40, @DesktopWidth+40, 0, $WS_POPUP,$WS_EX_TOOLWINDOW) 
WinSetTrans($Transparent_Gui,"",1)
GUISetState(@SW_SHOW, $Transparent_Gui) 

$nTrayIcon=_TrayIconCreate("Tools", "shell32.dll", -13) 
_TrayIconSetState() ; Show the tray icon 
$TrayMenu=_TrayCreateContextMenu() 
$ExitTray=_TrayCreateItem("Exit") 
_TrayItemSetIcon(-1, "shell32.dll", -28) 

$dll = DllOpen("user32.dll")
While 1 
    $Msg = GUIGetMsg()
    Switch $Msg
        Case $ExitTray
            ExitLoop
    EndSwitch

    If _IsPressed("04", $dll) Then
        _Show()
    endif
    Sleep(10)
WEnd 

_TrayIconDelete($nTrayIcon)
Exit


Func _Show()
$pos = MouseGetPos()
WinMove($Transparent_Gui,"",$pos[0]-20, $pos[1]-20)
Sleep(50)
_TrayIconContext($Transparent_Gui, $pos[0], $pos[1])
WinMove($Transparent_Gui, "",@DesktopWidth+40, 0)
EndFunc
В библиотеку ModernMenuRaw.au3 в самый низ добавь такую функцию:
Код: Выделить весь код
Func _TrayIconContext($hWnd, $iX,$iY)
    Local $nID = 0x00000001
        Local $hMenu = GUICtrlGetHandle($TRAYNOTIFYIDS[$nID][2])
        If $hMenu <> 0 Then
            Local $stPoint = DllStructCreate("int;int")
            SetForegroundWindow($hWnd)
        
            TrackPopupMenuEx($hMenu, 0, $iX, $iY, $hWnd, 0)
            PostMessage($hWnd, 0, 0, 0)
        EndIf
EndFunc
P.S. Имеется некоторый глюк, но может это уже кто то исправит...

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.


Отправлено: 21:52, 14-11-2010 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Вызов GUI в ModernMenuRaw

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Не работает GUI после выхода другова GUI sashadeg AutoIt 3 15-05-2009 22:03
javascript странный вызов bruder Вебмастеру 4 25-02-2008 13:43
Удаленный вызов процедур RPC MAX85 Microsoft Windows NT/2000/2003 2 14-08-2007 15:31
Delphi - Вызов функции Flash из Delphi btx Программирование и базы данных 1 27-02-2006 01:11
Вызов процедуры ToX Программирование и базы данных 10 24-07-2004 00:11




 
Переход