Page 1 sur 1
[R] Icones dans un menu tray
Posté : lun. 31 mai 2010 18:23
par Rapace15
Bonjour à tous,
J'essaye de faire un menu dans le system tray. J'arrive à afficher mes commandes sans trop de difficulté, mais j'aimerai agrémenter ce menu de quelques icônes devant les commandes.
► Afficher le texteMon code est ici
Code : Tout sélectionner
;Création d'un menu reprenant les raccourcis poussés par logon_script
#Include <Constants.au3>
#NoTrayIcon
Opt("ExpandEnvStrings", 1)
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 3) ; On masque srcipt paused et on ne coche pas les cmds cliquées.
Opt("TrayautoPause", 0)
; Variable globale de stockage des commandes
Global $commands = ObjCreate("Scripting.Dictionary")
Local $MonDir = @ProgramFilesDir & "\bar\"
local $title = "La boîte à raccourcis SUMI"
; Le fichier spécifié n'existe pas
If Not FileExists($MonDir) Then Exit(2)
; Recherches tous les fichiers dans SUMI
$search = FileFindFirstFile($MonDir & "\*.*")
; S'il existe au moins un fichier
If $search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
; définition de la liste à afficher
$files = "Les fichiers présent dans " & $MonDir & " sont :"& @CRLF
; Définition de l'icône
TraySetIcon(@ProgramFilesDir & "\bibli_ico.icl",13)
; Définition d'une info-bulle pour la boite à raccourcis SUMI
TrayTip("la boite à raccourcis SUMI", "Votre boite à raccourcis est désormais"&@LF&"disponible également à côté de l'horloge !", 5, 1)
; Affichage de l'icône (et du menu par la même occasion)
TraySetState()
; Personnalisation du tooltip
TraySetToolTip($title)
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
; Construction du menu
buildMenu($MonDir, $file)
$files = $files & $file & @CRLF
WEnd
; Close the search handle
FileClose($search)
; Création du séparateur final (avant la commande "Quitter"
TrayCreateItem("")
; Création d'un item A propos
$aboutItem = TrayCreateItem("A propos")
TrayItemSetOnEvent(-1,"about")
; Création de l'élément "Quitter" qui sera toujours présent
; quelque soit le fichier XML et ce qu'il contient
$ExitItem = TrayCreateItem("Quitter")
TrayItemSetOnEvent(-1, "ExitScript")
; Entrée dans la boucle principale de l'application
; (attente d'une action sur le menu
While 1
Sleep(10)
WEnd
; Construction récursive du menu
Func buildMenu( $doss, $fich , $parent = -1 )
$pos = StringSplit($fich,".")
$caption = $pos[1]
$id = TrayCreateItem($caption, $parent)
$cmd = $doss & "\" & $fich
If $cmd <> "" Then
$commands.Add($id, $cmd)
TrayItemSetOnEvent(-1, "RunCmd")
EndIf
EndFunc
; Exécute la commande associé à un élément de menu
Func RunCmd()
; Execution de la commande associé à l'élément @TRAY_ID qui est
; l'identifiant de l'élément de menu et qui sert d'identifiant
; pour la commande associée
Local $cmd = $commands.Item(@TRAY_ID)
ShellExecute($cmd)
EndFunc
; about
Func about()
Msgbox(0,"A propos","Ici mes info à propos")
EndFunc
; Quitte l'application
Func ExitScript()
Exit(0)
EndFunc
Je n'ai pas trouvé dans les fonctions Tray.... Quelqu'un pourrai-il me mettre sur la voie. D'avance merci. (en fichier joint, vous avez un aperçu du menu)
Re: [..] Icones dans un menu tray
Posté : lun. 31 mai 2010 22:33
par Tlem
Ca manque de recherche tout ça !!!
Voici une recherche simple qui vous en donnera plus :
http://www.autoitscript.fr/forum/search ... Rechercher
Re: [..] Icones dans un menu tray
Posté : mar. 01 juin 2010 02:04
par SagePourpre
UDF : ModerMenuLib
http://www.autoitscript.com/forum/index ... opic=20967
Il est fourni avec plusieurs exemples et devrait répondre à vos attentes...
Re: [..] Icones dans un menu tray
Posté : mar. 01 juin 2010 13:39
par Rapace15
J'ai effectivement fait ces recherches. Mais, pour le premier, il s'agit d'un sujet non résolu, qui renvoi vers un UDF qui provoque plus d'erreur qu'il ne résout de problème. Le deuxième ne concerne que la pause...
Je m'y penche tout de suite.. Merci à vous deux.
Re: [..] Icones dans un menu tray
Posté : mar. 01 juin 2010 18:14
par Rapace15
OK ça marche du feu de dieu.
Merci encore à vous deux...