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 :

Problème entre 2 Fiches !


Sujet :

C++Builder

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut Problème entre 2 Fiches !
    Bonjour,

    j'ai réalisé une application et je voulais intégrer une fiche avant la fiche "principale" pour que cela fasse comme une sorte de menu.
    Donc j'ai créé un nouveau projet pour y mettre cette fiche avec plusieurs boutons dont un faisant apparaitre mon "ancienne fiche principale".

    Mon soucis est que lorsque je compile mon nouveau projet, j'ai mon ancienne fiche qui apparait quand même et en arrière plan il y a la nouvelle !!!!


    Comment ça se fait ?
    Pouvez vous m'aider ?



  2. #2
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Tu peux définir la fenêtre principale de ton projet dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Projet => Options => Fiches => Fiche Principale
    Ensuite tu fais appel a la fonction Show ou ShowModal pour montrer ta seconde fiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Form2->ShowModal() ;
    //ou:
    Form2->Show()
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    ok, merci mais cela ne change rien à mon problème : les 2 fiches s'ouvrent toutes les 2 à la compilation !!!!!

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello,

    Sur ton ancienne fenêtre principale, vérifie l'état de la propriété Visible (devrait être à false vu ce que tu veux faire)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Merci totoche76 ma propriété visible était restée à true !

    Par contre, lorsque je clic sur le bouton de ma nouvelle fiche qui fait apparaitre mon ancienne fiche, j'ai fait en sorte que ma nouvelle fiche se ferme pour laisser apparaitre mon ancienne et je n'ai pas de fenêtre dans ma barre des tâches me montrant que l'application est ouverte !!!


  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Points : 288
    Points
    288
    Par défaut
    Citation Envoyé par totoche76 Voir le message
    Hello,

    Sur ton ancienne fenêtre principale, vérifie l'état de la propriété Visible (devrait être à false vu ce que tu veux faire)
    @petitClem,

    dans le constructeur de la fiche qui doit être en arrière plan fais:
    Formsecondaire->Visible=false;

    après appel le ShowModal !
    « Aucun homme ne peut rien vous révéler sinon ce qui repose déjà à demi endormi dans l'aube de votre connaissance»

    « No man can reveal to you aught but that which already lies half asleep in the dawning of your knowledge »_(¯`·.__-Alg3ri4nH4ck3r-__.·´¯)_

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Salut dz_robotix,

    Peux tu m'expliquer à quoi sert le "ShowModal" ?
    Où et à quelle fiche je dois l'attribuer ?

  8. #8
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Citation Envoyé par petitclem Voir le message
    Peux tu m'expliquer à quoi sert le "ShowModal" ?
    Utilise l'aide F1 pour en savoir plus sur les fonctions.

    ShowModal est équivalant de Show en mode modal. Il permet d'afficher une fenêtre. La différence avec Show est que tu ne peut plus acceder aux autres fenêtres de l'application tant que tu n'a pas fermer la fenêtre en mode modal.

    Citation Envoyé par petitclem Voir le message
    Où et à quelle fiche je dois l'attribuer ?
    Tu dois l'utiliser dans ta fiche principale pour afficher ta fiche secondaire
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    OK, merci sat83 mais cela ne règle pas le problème : je souhaiterai que la fenêtre que j'affiche deviennent ensuite la fenêtre principale et ai une case dans la barre des tâches !


  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Pour l'affichage d'un bouton dans la barre des taches:

    .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    protected:
      virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
    ...
    .cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void __fastcall TForm4::CreateParams(Controls::TCreateParams &Params)
    {
      TForm::CreateParams(Params);
      Params.ExStyle = Params.ExStyle | WS_EX_APPWINDOW;
    }

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Points : 288
    Points
    288
    Par défaut
    re salut,
    @Totoche,

    je pense qu'il veut dire que sa fiche doit être afficher dans la barre des taches,
    ce que je te conseil alors c'est de créer ta 2° fiche dans un projet indépendant et d'appeler son exécutable à partir de ta fiche principale avec ShellExecute, ceci dit je ne sais pas s'il y a "communication ou échange de données" entre les deux fiches.
    « Aucun homme ne peut rien vous révéler sinon ce qui repose déjà à demi endormi dans l'aube de votre connaissance»

    « No man can reveal to you aught but that which already lies half asleep in the dawning of your knowledge »_(¯`·.__-Alg3ri4nH4ck3r-__.·´¯)_

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Points : 288
    Points
    288
    Par défaut
    tu peux aussi créer ta deuxième


    Sur ta form 1 tu as une fonction qui appelle une form 2 dans laquelle tu dois saisir une valeur.... ou clicker sur des boutons ensuite tu veux continuer l'exécution de ta fonction.

    il te suffit d'appeller ta form 2 comme une boite de dialogue Modale comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
     
    void __fastcall TForm1::OnCreate()) /// j'imagine tu lance form2 au début donc le mieux c'est de metre dans OnCreate()
    {
       ... 
       // Création de la form 2
       TForm2 *Form2 = new TForm2(Form1);
      // création des bouton sur la form 2 puis  ajouter un bouton OK,  Ne pas oublié dans ta form2 de mettre le ModalResult de ton bouton Ok à mrOk.
     
       // Si l'utilisateur a cliqué sur Ok
       if(Form2->ShowModal() == mrOk)
       {
          // Exécution du reste
         ...
       }
    }

    bonne chance
    « Aucun homme ne peut rien vous révéler sinon ce qui repose déjà à demi endormi dans l'aube de votre connaissance»

    « No man can reveal to you aught but that which already lies half asleep in the dawning of your knowledge »_(¯`·.__-Alg3ri4nH4ck3r-__.·´¯)_

  13. #13
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    @dz_robotix
    je pense qu'il veut dire que sa fiche doit être afficher dans la barre des taches,
    C'est ce qu'est censé faire le bout de code fourni (du moins avec BCB2007) ...
    Par défaut seule la fenêtre principale est affichée dans la barre des taches. Une fenêtre secondaire qui aurait ce code serait également affichée dans la barre des tâches.

Discussions similaires

  1. Problème entre Delphi7 et Crystal Report 9
    Par claude dans le forum Bases de données
    Réponses: 5
    Dernier message: 25/11/2004, 16h42
  2. Réponses: 7
    Dernier message: 16/06/2004, 15h02
  3. Problème entre IB 6.0 et Access 2000
    Par Polux63 dans le forum InterBase
    Réponses: 3
    Dernier message: 19/04/2004, 10h34
  4. Problème entre Dev-c++ et Borland c++ compiler 5.5
    Par Argonz dans le forum Dev-C++
    Réponses: 6
    Dernier message: 21/10/2003, 16h21
  5. [ODBC] Problème entre access et ODBC
    Par StephCal dans le forum Access
    Réponses: 4
    Dernier message: 09/07/2003, 16h47

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