SiCK_Boy
Messages postés5Date d'inscriptionlundi 30 avril 2007StatutMembreDernière intervention 2 mai 2007
-
30 avril 2007 à 01:08
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 2013
-
1 mai 2007 à 12:59
Dans un projet, j'ai un programme (fichier .prg) qui sert de fichier principal (c'est le premier truc qui s'exécute, c'est là que je fixe les paramètres de mon application), et un menu (fichier de type .mnx), genre menu principal de logiciel (Fichier, Edition, ?), avec divers sous-menu. Je veux faire afficher ce menu dans mon application quand j'ai fini de fixer mes paramètres. Quelle commande dois-je inscrire dans mon programme pour lancer le menu?
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 30 avril 2007 à 13:26
Bonjour,
il te faut d'abord générer un fichier de menu executable (*.mpr)
pour ça, tu ouvres ton menu (mnx), et tu choisis l'option "Menu" => "Générer" dans le menu principal de VFP.
Ensuite, il suffit d'un do ton_nom_de_menu.mpr
Si ton menu doit s'exécuter dans un form de premier niveau (et non pas dans le _screen de VFP), c'est dans l'init de ce form que tu appelleras ce mpr, avec une syntaxe de la forme do xxx.mpr with this,.T.
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 30 avril 2007 à 18:04
Que contient ton programme principal?
Je présume que tu as oublié de mettre l'instruction READ EVENTS
Comme son nom l'indique, cette instruction demande de lire les évenements. le prg est interrompu, et ce sont les évenements qui déclenchent la suite, selon ce que les méthodes associées contiennent. dans ton cas, si tu as juste un do menu xxx avant ce read events, c'est ton menu qui prendra la main.
Tu n'es pas du tout obligé d'avoir un form de 1er niveau pour ton application, tu peux parfaitement l'exécuter dans la fenetre de VFP en y mettant ton propre menu. Perso, je préfère avoir un form de 1er niveau (et tous mes autres forms s'exécutent dans ce form de 1er niveau) parceque j'aime bien différencier completement l'environnement de developpement et celui de production. Mais il n'y a rien d'obligatoire.
SiCK_Boy
Messages postés5Date d'inscriptionlundi 30 avril 2007StatutMembreDernière intervention 2 mai 2007 30 avril 2007 à 17:40
Question complémentaire...
Comment faire en sorte que mon programme "attende" que l'utilisateur choisisse une option une fois que le menu est affiché?
La commande WAIT ne semble pas correspondre exactement à ce que je cherche, puisque dès qu'on clique n'importe où ou qu'on appuie sur une touche, le programme ferme.
Et si je ne mets rien, lorsque je lance l'application (en format .exe), elle s'affiche le temps de le dire et quitte (je présume parce qu'elle termine de passer au travers de mon programme de démarrage).
Est-ce que je dois obligatoirement définir un formulaire de base pour mon application et lancer le menu à partir de ce formulaire au lieu d'à partir d'un programme?
Vous n’avez pas trouvé la réponse que vous recherchez ?
SiCK_Boy
Messages postés5Date d'inscriptionlundi 30 avril 2007StatutMembreDernière intervention 2 mai 2007 30 avril 2007 à 19:11
Merci pour les deux réponses jusqu'à maintenant... disons que mes connaissances remontent à loin. J'ai plus hâte de vraiment travailler dans les formulaires, je devrais avoir besoin un peu moins d'aide rendu là.
Une autre question relative aux menus, celle-là moins critique et de nature plus esthétique: y a-t-il moyen de changer la couleur du menu pour qu'il soit autre chose que le gris 192,192,192 ? J'ai créé des formulaires un peu plus pâle, et je voudrais que le menu soit de la même couleur.