Page 1 sur 1
[resolu] Identifiant menu
Publié : lun. 28/sept./2009 19:41
par venom
Bonjour,
voilà je ne me souviens pas avoir déjà vu sa :
je crée un menu tout ce qu'il y a de plus normale, mais ce dernier se crée depuis la liste d'un fichier ini. j'explique :
mon fichier menu.ini
0 = nouveau
1 = ouvrir
2 = enregistrer
etc..
bon je sais comment récupérer la clé et renvoyé le nom au menu sa pas de problème.
le problème que je rencontre, c'est que l'utilisateur va pouvoir édité ce menu donc ajouté des menus. sa aussi c'est régler pas de problème.
la ou je coince c'est comment faire pour supprimé des menus

. je souhaiterais que l'utilisateur tape le nom du menu ex: ouvrir et que sa me renvoie l'identifiant qui est 1
Donc comment savoir si l'utilisateur a cliquer sur ouvrir et regarder dans le menu.ini a quel clef appartiendra le nom ouvrir.
ou alors si vous avez une autre astuce pour arrivé au même résultat qui sait
@++
Re: Identifiant menu
Publié : lun. 28/sept./2009 19:51
par Progi1984
Il faut que tu récupère dans ta boucle d'évenements (EventMenu()) l'id du menu et que tu parses ton fichier .ini (ExaminePreferenceGroups() et ExaminePreferenceKeys()).
Re: Identifiant menu
Publié : lun. 28/sept./2009 19:53
par Octavius
En gros, ce que tu veux c'est un menu personnalisable ?
Je serais toi, je créerai une liste ou un tableau de toutes les commandes possibles (nouveau, ouvrir, etc.) avec un structure contenant le mot et la valeur (énumération). Les chaînes de caractère et les valeurs peuvent être stockées dans la DataSection et être appelées de là-bas pour créer ta liste structurée.
Puis, à l'intérieur du programme, il y aurait un bouton qui permettrait d'afficher une fenêtre de dialogue divisée en 2 parties. La partie de gauche contenant les menu items désactivés et la partie de droite contenant les menu items activés. L'utilisateur n'aurait alors qu'à déplacer les éléments puis valider pour obtenir son menu personnalisé.
Pas besoin d'utiliser de fichier ini dans ce scénario.
Re: Identifiant menu
Publié : lun. 28/sept./2009 20:31
par venom
Il faut que tu récupère dans ta boucle d'évenements (EventMenu()) l'id du menu et que tu parses ton fichier .ini (ExaminePreferenceGroups() et ExaminePreferenceKeys()).
merci Progi1984 je vais voir a sa.
Je serais toi, je créerai une liste ou un tableau de toutes les commandes possibles (nouveau, ouvrir, etc.) avec un structure contenant le mot et la valeur (énumération). Les chaines de caractère et les valeurs peuvent être stockées dans la DataSection et être appelées de là-bas pour créer ta liste structurée.
Merci aussi pour ton astuce Octavius, mais je souhaite que l'utilisateur mette ce qu'il veut et non pas des menus prédéfinit.
mais si je doit faire un programme avec des menus prédéfinit je sais vers ou aller
@++
Re: Identifiant menu
Publié : lun. 28/sept./2009 21:26
par venom
c'est génial je viens de découvrir une chose dans purebasic
Default
ont le place en dernier dans sa boucle d'évènements et hop il me renvoie l'identifiant de n'importe quel menu bon sa
je retourne dans mon brun pardon mon code
@++
Re: Identifiant menu
Publié : mar. 29/sept./2009 8:31
par Le Soldat Inconnu
c'était EventMenu() que tu cherchais ?
Re: Identifiant menu
Publié : mar. 29/sept./2009 16:27
par venom
c'était EventMenu() que tu cherchais ?
oui Soldat Inconnu c'était bien cela merci.
@++