IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

enchainer les menus


Sujet :

Visual C++

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut enchainer les menus
    Bonjour,
    J'ai donc un premier niveau de menu qui fonctionne bien tant à la compilation qu'a l'exécution.
    Le choix de WinFom semble pertinent pour mon besoin
    Je cherche maintenant a introduire un deuxième menu qui a pour fonction de donner à l'utilisateur une vision des documents présent dans le répertoire ou on pointe.
    J'ai utilisé les composants ListBox et directorySearcher et j'ai appelé le fichier du nouveau menu dans le fichier du menu principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "OpenFileMenue.h"
    et j'ai essayé d'appeler le menu par l'action correspondante dans le menu principal Je voudrais que sur la sélection du choix on choisisse l'action correspondante qui est d'ouvrir le menu d'ouverture.
    J'ai essayé de voire ce que le codage contextuelle me proposait et il ne m'a rien proposé. J'ai donc codé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->openafileToolStripMenuItem->OnSelect->OpenFileMenue();
    et bien entendu le compilateur n'a pas accepté.
    J'ai en outre essayer de mettre une progressBar dans la form et j'ai codé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1::progressBar1->TabIndex = 50;
    Qui a fait réagir également le compilateur comme indiqué ci-dessous
    Test3.cpp(16): error C2227: la partie gauche de '->TabIndex' doit pointer vers un type class/struct/union/générique
    J'ai également essayé d'agir dans la form1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Form1(void)
    		{
    			InitializeComponent();
    			if( this->openafileToolStripMenuItem->Name == L"openafileToolStripMenuItem") 
    			{
    				OpenFileMenue();
    			}
    		}
    Ce qui compile mais ne fait rien à l'exécution comme si on restait coincé dans le menu Form1
    Comment adresser les objets crées avec WinForm pour les manipuler?
    Que faut il faire. je crois qu'il faut coder une fonction OnSelect. Y a t' il un exemple disponible quelque part? ce serait

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 077
    Points : 12 128
    Points
    12 128
    Par défaut
    Je ne suis pas sûr d'avoir tout compris.

    Mais votre problématique me semble étrange.
    On ne cherche jamais à faire appel à un menu à partir d'un autre menu.

    Il doit avoir une décorrélation forte entre les éléments d'IHM telle qu'un menu est les actions que peuvent provoquer une sélection de cet élément d'IHM.
    Il est ainsi facile d'avoir plusieurs éléments d'interface produisant la même action. Un item de menu, un bouton dans la toolbar, un raccourci clavier sont très souvent associés à une même action dans l'application.

    Pour faire cette décorrélation, tous ces éléments d'IHM appellent directement et uniquement une action dans un objet distinct comme un contrôleur dans un modèle MVC ou un document dans un modèle Document/vue à la MFC.

  3. #3
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Le chainage d'une tool box avec une form
    - je crée un projet C++/Winforms

    -J'ajoute à mon projet une nouvelle classe de type Form, qui portera le nom OpenAFile

    - j'ouvre le Designer de Formulaire la classe Form1 (celle pré crée)

    - je drop depuis la fenêtre "Toolbox" un menuStrip

    - j'ajoute les menuitem du menu de mon formulaire directement dans le Designer de Formulaire

    - je double-click sur l'item de menu en charge de la création du nouveau formulaire

    - VS ouvre le code source (dans Form1) sur le code de gestion de l'évènement de click du menuItem

    - J'ajoute le code correspondant la ligne de commande est générée automatiquement par Visual Studio

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private: System::Void openAFileToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) 
    			 {
    				 Test6::OpenAFile^ FormToOpen = gcnew OpenAFile();
                                     FormToOpen->Show();
    			 }
    Je veille à la bonne déclaration du type Test6::OpenAFile^ FormToOpen
    Pour mettre fin à la vie de cette form il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) 
    			 {
    				 Test6::OpenAFile^ FormToOpen = this;
    				 FormToOpen->Close();
    			 }
    Ce code marche à la compilation et à l'exécution ; c'est

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment retrouver les menus complets de Access ???
    Par sweety107 dans le forum Access
    Réponses: 3
    Dernier message: 20/12/2004, 11h33
  2. Problème : restaurer les menus sous enlightenment
    Par dark_clem dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 04/06/2004, 18h48
  3. Réponses: 4
    Dernier message: 02/06/2004, 11h19
  4. [VBA-E]Demande de précision sur les menus
    Par geffdenimes dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/06/2003, 10h46
  5. Pb avec les menus
    Par Ph. B. dans le forum XMLRAD
    Réponses: 6
    Dernier message: 29/01/2003, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo