Bonsoir,
J'ai réussi à trouver toutes les fonctions que je veux pour mon traymenu, mais je bloque sur 1 point.
En cherchant sur le forum j'ai trouvé le code de mikell qui correspond a ce que je veux avec une différence:
code de mikell:
1 menu sur clic droit
1 menu sur clic gauche
Moi j'aimerai:
1 menu au survol de l’icône
1 menu au clic droit
le code de mikell que j'ai trouver c'est:
[codeautoit]#include <constants.au3>
#include <Misc.au3>
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)
TraySetClick(18)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "SpecialEvent")
TraySetOnEvent($TRAY_EVENT_SECONDARYDOWN, "SpecialEvent")
TraySetState()
Global $exit, $Item1, $Item2
While 1
Sleep(10)
WEnd
Func SpecialEvent()
Select
Case @TRAY_ID = $TRAY_EVENT_PRIMARYDOWN
Delete()
$exit = TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "_Exit")
Case @TRAY_ID = $TRAY_EVENT_SECONDARYDOWN
Delete()
$Item1 = TrayCreateItem("Item 1")
TrayItemSetOnEvent(-1, "_Tray1")
$Item2 = TrayCreateItem("Item 2")
TrayItemSetOnEvent(-1, "_Tray2")
$exit = TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "_Exit")
EndSelect
EndFunc
Func Delete()
TrayItemDelete ($exit)
TrayItemDelete ($Item1)
TrayItemDelete ($Item2)
EndFunc
Func _Tray1()
MsgBox(0, "", "tray1")
EndFunc
Func _Tray2()
MsgBox(0, "", "tray2")
EndFunc
Func _Exit()
Exit
EndFunc[/codeautoit]
Le code que j'ai fais grâce a la doc:
[codeautoit]#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <TrayConstants.au3> ; Nécessaire pour les constantes $TRAY_EVENT_PRIMARYDOUBLE, $TRAY_EVENT_SECONDARYUP et $TRAY_ICONSTATE_SHOW.
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Opt("TrayMenuMode", 3) ; Les items du menu, par défaut, ne seront pas affichés et les items ne seront pas cochés lorsqu'ils seront sélectionnés. Ce sont les options 1 et 2 de TrayMenuMode.
Opt("TrayOnEventMode", 1) ; Active TrayOnEventMode.
Example()
Func Example()
Menu()
;TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "TrayEvent")
TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "TrayEvent")
TraySetState($TRAY_ICONSTATE_SHOW) ; Affiche le menu de la zone de
TraySetClick(64) ; Ouvre le menu au survole de l'icone du traymenu
While 1
Sleep(100) ; Une boucle d'inactivité.
WEnd
EndFunc ;==> Example
Func TrayEvent()
Switch @TRAY_ID ; Teste le dernier identifiant de l'item.
Case $TRAY_EVENT_PRIMARYUP
; Affiche une boîte de message à propos de la version et du chemin d'installation de l'exécutable AutoIt.
;MsgBox($MB_SYSTEMMODAL, "", "AutoIt tray menu example.") ; Trouve le dossier d'un chemin d'accès complet.
Case $TRAY_EVENT_SECONDARYUP
;MsgBox($MB_SYSTEMMODAL, "", "The secondary mouse button was released on the tray icon.")
Config()
EndSwitch
EndFunc ;==> TrayEvent
Func Menu()
TrayCreateItem("Menu1")
TrayCreateItem("Menu2")
TrayCreateItem("Menu3")
EndFunc
Func Config()
TrayCreateItem("Configuration2")
TrayCreateItem("") ; Crée une ligne de séparation.
TrayCreateItem("About2")
TrayCreateItem("") ; Crée une ligne de séparation.
TrayCreateItem("Exit2")
TrayItemSetOnEvent(-1, "ExitScript")
EndFunc
Func ExitScript()
Exit
EndFunc ;==> ExitScript[/codeautoit]
J'ai comme l'impression qu'il y a confit a faire coabiter c'est deux etats, non?
Traymenu survol et clic droit
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- orax
- Modérateur
- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: Traymenu survol et clic droit
Peut-être que quelqu'un aura une solution, mais, en fait, je me demande si c'est vraiment une bonne idée d'avoir le menu qui s'affiche lors du survol de la souris. Le problème, c'est que si la souris survole l'icône par le bas, alors le menu cache complètement l'icône, et, comme elle se retrouve masquée, on ne peut plus cliquer dessus.
Une autre solution serait de créer une mini GUI lors du survol de l'icône. Cette GUI s'afficherait près de la souris, mais sans masquer l'icône. Par contre, je n'ai jamais essayé de faire ça, donc je ne sais pas si l'idée est bonne.
Une autre solution serait de créer une mini GUI lors du survol de l'icône. Cette GUI s'afficherait près de la souris, mais sans masquer l'icône. Par contre, je n'ai jamais essayé de faire ça, donc je ne sais pas si l'idée est bonne.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: Traymenu survol et clic droit
Ah oui c'est une bonne idée, ça me plais bien.
Ça veux dire que lorsque je survol l’icône du traymenu j'appelle un autre fichier guiMonMenu.au3 que j'aurai crée avec l'application pour crée des interfaces graphique.
C'est bien ça?
Ça veux dire aussi que je peu utiliser le même principe pour le menu du clic droit?
Je vais chercher dans ce sens, merci pour ton aide orax ça m'aiguille bien, enfin si j'ai bien tous saisis ^^
Ça veux dire que lorsque je survol l’icône du traymenu j'appelle un autre fichier guiMonMenu.au3 que j'aurai crée avec l'application pour crée des interfaces graphique.
C'est bien ça?
Ça veux dire aussi que je peu utiliser le même principe pour le menu du clic droit?
Je vais chercher dans ce sens, merci pour ton aide orax ça m'aiguille bien, enfin si j'ai bien tous saisis ^^
- orax
- Modérateur
- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: Traymenu survol et clic droit
Je pense que t'as compris ce que je voulais dire. Mon idée est de faire quelque chose comme le Centre de maintenance sur Windows. Quand on clique sur l'icône, une petite interface s'affiche au dessus de la barre des tâches.
http://www.aidewindows.net/win8/maintenance.php#acces

De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: Traymenu survol et clic droit
oui ok c'est bien ce que je pensais.
Je vais essayer de faire quelque chose et poste ici
Je vais essayer de faire quelque chose et poste ici