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 :

FormStyle = fsMDIForm;


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Points : 53
    Points
    53
    Par défaut FormStyle = fsMDIForm;
    Bonjour,

    Je voudrais que mon composant ComboBox1 soit focalisé au démarrage de mon application,
    Cela marche si FormStyle = fsNormal;
    Mais si FormStyle = fsMDIForm;
    Cela ne marche plus.
    Je met cette propriété à fsMDIForm car je créais des formes enfants dynamiquement dedans
    Pourriez-vous me dire si il y a une astuce pour que mon ComboBox1 soint focalisé ?

    Merci d'avance,

  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
    Ca ne marche pas avec:
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  3. #3
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Citation Envoyé par sat83 Voir le message
    A coder dans l'événement OnCreate ou bien OnShow de la fiche en question.
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Bonjour et merci de votre aide kmaniche et sat83,
    Cela marche bien quand la forme principale apparait la première fois,
    Mais je voudrais aussi que dès je ferme une forme enfant, mettre de nouveau le focus dans mon ComboBox1, mais ça ne marche pas,
    Même en appelant le destructeur de la forme enfant et en mettant
    Form_Principal->ComboBox1->SetFocus();
    Et même quand il n'y a plus de forme enfant,
    Je regarde avec le pas à pas, et juste après la destruction d'un enfant le ActiveControl de Form_Principal repasse à NULL
    A part mettre un timer avec des conditions dedans, je ne voie pas d'autre solution ?
    Merci encore de votre aide,

  5. #5
    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
    Où as tu placé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form_Principal->ComboBox1->SetFocus();
    ?
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Je l'ai essayé un peux partout, dans les évènements OnClose de ma forme enfant, puis dans le destructeur de ma forme enfant ~Form_Enfant() ou dans OnDestroy() de ma forme enfant

    quand je met
    Form_Principal->ComboBox1->SetFocus();
    dans ces évènements et que je regarde le mode pas à pas, je voie que mon ComboBox1 est sélectionné donc jusque là tout va bien,
    puis le code va dans /* TCustomForm.Destroy */ inline __fastcall virtual ~TForm(void) { } dans Form.hpp
    Et là, le ComboBox1 n'est plus sélectionné et la forme enfant disparait de l'écran,

  7. #7
    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
    As tu essayer de le mettre dans le OnShow ou OnActivate de ta Form principale?
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  8. #8
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Je ne vois qu'il seule solution, c'est d'utiliser l'évenement OnIdle de TApplicationet mettre ComboBox1 -> SetFocus() .

    Il y a des exemples sur le forum, dans la FAQ, si tu trouve pas fais vous signe.
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Oui bien sûre sat83 j'ai essayai dans OnShow et OnActivate mais ça ne marche pas non plus !

    Et ok kmaniche, la semaine prochaine, je vais regarder OnIdle de TApplicationet

    Merci les gars,

Discussions similaires

  1. problem avec FSmdiform et fsmdichild
    Par rec82 dans le forum Débuter
    Réponses: 4
    Dernier message: 27/09/2009, 09h25
  2. Problème de FormStyle
    Par aliwassem dans le forum Delphi
    Réponses: 2
    Dernier message: 09/02/2007, 18h31
  3. Pb fsMDIForm et fsMDIChild
    Par fthdz dans le forum Delphi
    Réponses: 6
    Dernier message: 03/02/2007, 22h46
  4. Changer FormStyle en runtime
    Par franckgar dans le forum Delphi
    Réponses: 7
    Dernier message: 22/12/2006, 10h17
  5. comment rendre invisible une FormStyle->fsMDIchild
    Par caluloa dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/05/2003, 14h21

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