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

C++Builder Discussion :

[Ecouteurs]Comment basculer avec OnClick vers une autre FORM ?


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 17
    Points
    17
    Par défaut [Ecouteurs]Comment basculer avec OnClick vers une autre FORM ?
    j'ai deux feuille f1 et f2 avec un bouton B1 sur sur f1
    quand je clicke sur b1 de F1 je voudrais que cela m'ouvre F2.

    Je ne sais pas ce que je dois mettre comme code.

  2. #2
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Pour faire cela, il te suffit d'utiliser la fonction Show ou ShowModal des TForm.
    + + +

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    ok je teste ça desuite !!!
    merci pour la réponse rapide ca fait deux jours que je cherche

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    voici les deux typages des deux fonctions :

    virtual int __fastcall ShowModal(void);
    HIDESBASE void __fastcall Show(void);

    je ne comprends pas où je peux choisir la Tform a afficher.

    il me faudrait un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm1::IMGBoutonClick(TObject *Sender)
    {
      AfficherLaTform(Tform2);
    }
    mais la avec show et showmodal on ne peut pas faire entrer d'arguments dans la fonction, donc je ne comprends pas comment l'utiliser correctement pour arriver a mes fins.

  5. #5
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Show et ShowModal sont des fonctions de la classe TForm.

    Il faut donc les utiliser comme ceci:

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form5->Show();   // affiche la fiche 5
    ou
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    OKRightDlg->ShowModal(); //affiche la fiche OKRightDlg de façon modale

    Nb:Exemples trouvés dans l'aide de Builder
    + + +

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Undefined symbol 'FORM3->Show()'.
    En effet j'ai un fichier unit1.cpp pour la premiere form et unit3.cpp pour la troisieme (celle que je veux relier).

    Mais le fichier unit1.cpp ne reconnait pas Form3, il faut que je fasse un include ou quoi ?
    dans unit1.cpp

  7. #7
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Tu y es presque

    Tu dois faire un
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include "form3.h"
    dans ton form1.cpp pour qu'il reconnaisse ton FORM3
    + + +

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    ok nickel ca marche.
    merci pour ta patience.

    Au fait cela m'ouvre une seconde fenetre tel un popUP n'y aurait il pas moyen que cela bascule vers la nouvelle feuille F2 plutot que d'avoir les deux en meme temps ?

    pourquoi Form.h et pas Unit3.cpp ?
    quelle différence entre l'extension .H et .CPP ?

  9. #9
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Pour ce qui est de la différence en .cpp et .h, je te conseille de regarder les tutoriels et cours présents ici.

    Pour ton problème, je te conseille le code suivant:

    Sur l'évènement de ton bouton sur ta première fiche servant à faire apparaitre la deuxième fiche:

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    this->Hide();//je cache la fiche courante
    Form2->ShowModal();//je fais apparaitre le fiche suivante et j'attends un message de la fiche-fille
    this->Show();//je fais apparaitre la fiche courante

    Sur l'évènement de ton bouton sur ta deuxième fiche servant à faire apparaitre la première fiche:
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ModalResult = mrCancel; //je quitte la fiche et j'envoie un message à la fiche-parent
    + + +

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    ok je vois, par contre pour les tutos y'en a tellement que l'on ne sait pas lequel correspond a ma requete

  11. #11
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Je te conseille de commencer par celui de Bruno Garcia puis par celui de Gilles Louise.
    Un petit passage par la FAQ ne fait jamais de mal
    + + +

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    merci,
    ton aide et le gain de temps que tu m'as apporté est considérable.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/02/2010, 10h15
  2. Réponses: 9
    Dernier message: 15/04/2009, 15h09
  3. comment diriger un lien vers une autre base de donnee
    Par blueice dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/07/2007, 13h13
  4. cherche comment copier le champ vers une autre champ
    Par khier dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 01/07/2005, 12h20
  5. Comment basculer le focus depuis une autre form ?
    Par altahir007 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 03/09/2003, 15h54

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