Les Tray
Vous voulez rendre votre bot plus professionnel, alors les fonctions Tray sont faites pour vous.
Elles permettent d'utiliser la barre des tâches dans votre bot. Vous pouvez programmer des tâches en fonctions des icônes qui apparaissent dans la barre des tâches. Elle permet principalement de mettre un menu dans votre bot, ce qui fait classe quand même!
TrayCreateItem, TrayCreateMenu, TrayGetMsg, TrayItemDelete, TrayItemGetHandle, TrayItemGetState, TrayItemGetText, TrayItemSetOnEvent, TrayItemSetState, TrayItemSetText, TraySetClick, TraySetIcon, TraySetOnEvent, TraySetPauseIcon, TraySetState, TraySetToolTip, TrayTip.
Avant toute chose, il faudra utilisé la commande suivante pour activé le menu.
Opt("TrayMenuMode",flag)
flag correspond à une valeur numérique. Cette fonction n'étant pas définie dans la liste des fonctions, je sais très peu de trucs dessus.
0 = Affiche une option quitter et une option indiquant si le script est en pause. Cette seconde option permet non seulement de mettre mais aussi de sortir de la pause du script.
1 = ne les affiche pas. Il vous laisse un menu totalement vierge.
I. TrayCreateMenu & TraySetClick
a/ TrayCreateMenu
Cette fonction permet la création d'un sous-menu qui apparraîtra en cliquant sur l'icône du bot dans la barre des tâches.
$menutext = TrayCreateMenu ( "sub/menutext", menuID, menuentry)
Si vous definissez menuID, celle vous permettra de crée un sous menu dans "sub/menutext". Si la valeur -1 est mise, celà correspond au niveau de base du menu.
menuentry est un valeur numérique qui indique le numéro de l'entrée à crée. Ces numéros commence à 0. menuentry est optionnel.
b/ TraySetClick
Cette fonction définie avec quel bouton de la souris on active le menu dans la barre des tâches.
TraySetClick (flag)
flag correspond à une valeur numérique, dont voici la liste :
0 = Le menu ne s'ouvrira jamais avec un bouton de la souris.
1 = En pressant le bouton primaire de la souris.
2 = En relachant le bouton primaire de la souris.
4 = En double cliquant sur le bouton primaire de la souris.
8 = En pressant le bouton secondaire de la souris.
16 = En relachant le bouton secondaire de la souris.
32 = En double cliquant sur le bouton secondaire de la souris.
64 = En pressant ou en relachant n'importe quel bouton de la souris.
Il est tout à fait possible de combiner plusieurs valeur : 5 (1+4) ouvrira le menu si on presse le bouton primaire de la souris ou si on double click dessus avec le bouton primaire.
si on n'utilise pas la fonction, la valeur par défault est 9, soit 8 + 1.
II. TrayCreateItem & TrayItemDelete
a/ TrayCreateItem
Permet de crée un élément dans votre menu ou dans un sous-menu.
$item = TrayCreateItem (text, menuID, menuentry, menuradioitem)
Text correspond au nom de votre element.
menuID indique l'endroit ou sera placé l'élément. -1 pour indiquer la base, sinon mettre la variable correspondante.
menuentry est optionnel et indique le numéro de votre élément. Les numéros commence à 0. Si vous ne voulez pas numéroté vos éléments, mettre -1 (par défault).
menuradioitem ne change rien au niveau du code, mais apporte un plus graphique. Il permet de visualiser ce qui est en train de ce faire dans votre programme. Une croix verte indique quel élément vient d'être valider.
b/ TrayItemDelete
Permet de supprimer un élément pendant l'execution de votre bot.
TrayItemDelete (controlID)
controlID correspond à la variable de l'élément a supprimer.
Cette fonction permet de limité le nombre d'utilisation de tel élément durant le bot. Il faudra le fermer puis le relancer pour y avoir de nouveau accès.
III. TrayTip & TraySetToolTip
a/ TrayTip
Affiche une bulle d'informationau niveau de l'icône dans la barre des tâches.
TrayTip ( "titre", "texte", timeout, option)
titre correspond au nom de votre info bulle. Il sera en plus gros et en bleu.
texte correspond au texte de votre info bulle. Il sera écrit en noir.
timeout indique la durée d'affichage de votre info bulle. Il semblerait que se soit 10 à 30 sec, mais après quelque test je ne retrouve pas ces valeurs.
option est une valeur numérique changeant l'icône de l'info bulle.
0 = pas d'icône, valeur par défault.
1 = icône information.
2 = icône attention.
3 = icône erreur.
b/ TraySetToolTip
Premet de redéfinir le texte de la bulle windows du bot.
TraySetToolTip ("text")
texte correspond à ce qui s'affichera quand l'utilisateur passera sa souris sur l'icône du bot.
Attention 64 carcatères maximum pour les version de windows 95/98/NT4 et 128 pour les plus récentes Me/2000/XP/2003. Pour vista je ne sais pas.
Pour réafficher le texte par défault faire TraySetToolTip ().
IV. TrayItemSetOnEvent & TraySetOnEvent
Pour utilisé les évènement sur les élément de votre menu, il faut mettre en début de code :
Opt("TrayOnEventMode",1)
a/ TrayItemSetOnEvent
Cette fonction permet de définir la fonction qui sera lancer quand un élément du menu sera lancer.
TrayItemSetOnEvent ( itemID, "function" )
itemID correspond à l'élément du menu qui doit être cliquer. Il s'agit de la valeur numérique défini par menuentry dans TrayCreateItem (text, menuID, menuentry, menuradioitem).
function identifie la fonction qui sera lancé.
b/ TraySetOnEvent
Cette fonction définie ce que le bot doit faire lorsque l'utilisateur fait une action avec l'icône de la barre des tâches.
TraySetOnEvent (specialID, "function")
specialID correspond à l'évènement. Voici la liste des scpecialID
$TRAY_EVENT_SHOWICON ou -3 = l'icône du bot est affiché.
$TRAY_EVENT_HIDEICON ou -4 = l'icône du bot est caché.
$TRAY_EVENT_FLASHICON ou -5 = L'utilisateur met en marche le mode flashing sur l'icône du bot.
$TRAY_EVENT_NOFLASHICON ou -6 = L'utilisateur arrête le mode flashing sur l'icône du bot.
$TRAY_EVENT_PRIMARYDOWN ou -7 = Clic primaire pressé sur l'icône du bot.
$TRAY_EVENT_PRIMARYUP ou -8 = Clic primaire relaché sur l'icône du bot.
$TRAY_EVENT_SECONDARYDOWN ou -9 = Clic secondaire pressé sur l'icône du bot.
$TRAY_EVENT_SECONDARYUP ou -10 = Clic secondaire relaché sur l'icône du bot.
$TRAY_EVENT_MOUSEOVER ou -11 = La souris est partie de l'icône du bot.
$TRAY_EVENT_PRIMARYDOUBLE ou -13 = Double Clic primaire sur l'icône du bot.
$TRAY_EVENT_SECONDARYDOUBLE ou -14 = Double Clic secondaire sur l'icône du bot.
function correspond au nom de la fonction qui doit être appelé lorsque l'élèvement est réalisé.
V. TrayItemSetState & TrayItemSetText
a/ TrayItemSetState
Cette fonction permet de "jouer" sur les statuts des éléments de votre menu.
TrayItemSetState (controlID, state)
controlID correspond à la variable de l'élément dont le statut va changer.
state correspond à l'état de l'élément.
$TRAY_CHECKED ou 1 = L'élément sera coché.
$TRAY_UNCHECKED ou 4 = L'élément sera décoché.
$TRAY_ENABLE ou 64 = L'élément sera activé.
$TRAY_DISABLE ou 128 = L'élément sera désactivé.
$TRAY_FOCUS ou 256 = L'élément sera selectionné.
$TRAY_DEFAULT ou 512 = L'élément sera l'élément par défault du menu.
On peut combiner différent état en additionnant leur valeurs numérique. 513 correspond à coché et défault.
b/ TrayItemSetText
Cette fonction permet de redéfinir le nom d'un élément du menu.
TrayItemSetText (controlID, text)
controlID correspond à la variable de l'élément dont vous voulez changer le texte.
text indique le nouveau texte qui sera afficher à la place de l'ancien.
Cette fonction permet aussi de redéfinir les éléments par défault du menu (exit et paused).
TrayItemSetText($TRAY_ITEM_EXIT,"Quitter")
TrayItemSetText($TRAY_ITEM_PAUSE,"Programme en Pause")
VI. TraySetIcon & TraySetPauseIcon
a/ TraySetIcon
Cette fonction permet de charger une icône spécifique pour le menu.
TraySetIcon (iconfile, iconID)
iconefile indique le chemin d'acces à l'icone. (Pour les icones windows par défault : "Shell32.dll").
iconID indique le numéro de l'icône. (Pour les icônes windows par défault : de -1 à -100).
-52 correspond à une icône transparente sur mon pc!^^ (je suis sous vista)
b/ TraySetPauseIcon
Cette fonction marche comme la précédente mais elle charge une icône lorsque le programme est en pause. Il y a une alternance entre l'icône de base et l'icône de pause.
TraySetPauseIcon (iconfile, iconID)
iconefile indique le chemin d'acces à l'icone.
iconID indique le numéro de l'icône.
VII. TraySetState & TrayItemGetState
a/ TraySetState
b/ TrayItemGetState
VIII. TrayGetMsg & TrayItemGetText & TrayItemGetHandle & TraySetState
a/ TrayGetMsg
Cette fonction retourne l'action réalisé sur l'icône du bot ou dans son menu.
TrayGetMsg ()
Retourne :
0 = No event
Control ID = envoie la variable de l'élément sur lequel vous avez cliquer.
$TRAY_EVENT_PRIMARYDOWN = Clic primaire pressé sur l'icône.
$TRAY_EVENT_PRIMARYUP = Clic primaire relaché sur l'icône.
$TRAY_EVENT_SECONDARYDOWN = Clic secondaire pressé sur l'icône.
$TRAY_EVENT_SECONDARYUP = Clic secondaire relaché sur l'icône.
$TRAY_EVENT_PRIMARYDOUBLE = Double clic primaire sur l'icône.
$TRAY_EVENT_SECONDARYDOUBLE = Double clic secondaire sur l'icône.
b/ TrayItemGetText
Cette fonction retourne le nom d'un élément du menu.
TrayItemGetText (controlID)
controlID correspond à la variable de l'élément dont vous voulez le texte.
c/ TraySetState
Cette fonction permet d'agir sur la visibilité de l'icône du bot dans la barre des tâches.
TraySetState (flag)
flag correspond à une valeur numérique dont voici la liste :
1 = montre l'icône par défault.
2 = Détruit/cache l'icône.
4 = débute le clignotement de l'icône.
8 = stop le clignotement de l'icône.
16 = Remet les options par défault de l'icône.
Vous pouvez combiner les valeurs entre-elles.
d/ TrayItemGetHandle
Cette fonction retourne le handle de votre menu. Malheureusement pour moi, elle fait appel à des fonctions DLL que je ne connais pas. Je vous renvoie donc à la documentation anglaise sur cette fonction... lire la doc
Bon voilà, ce tutoriel est fini! Maintenant vous ètes capable de faire un menu digne d'un programme de profesionnel pour votre bot.
Si jamais vous avez un problème (même de compréhension de mes phrases, postez dans la catégorie Problèmes Tutoriels.
Merci.
Par : Zts-pasthck