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 :

Empêchr fermeture d'un TForm


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 795
    Par défaut Empêchr fermeture d'un TForm
    Bonjour
    Voilà mon problème est le suivant : j'ouvre une fiche TForm avec un ShowModal car les propriétés me conviennent mieux qu'un Show simple. Quand l'uttilisateur a validé, la fiche se ferme automatiquement.
    Le hic est que je viens de rajouter un bouton sur ma fichie et je souhaiterais que lorsqu'on clique dessus, ça ne ferme pas ma fenêtre mais la laisse ouvert .. par contre pour tout le reste le comportement doit rester comme pour un showmodal classique.
    Une idée?
    Merci

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

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Sur l'évènement OnClose des fiches, tu as accès à une variable Action du type TCloseAction.
    A l'aide de cette variable, tu peux décidé de la méthode de réaction de ta fiche à se fermeture.
    caNone --> La fiche n'est pas autorisée à se fermer et rien ne se passe.
    caHide --> La fiche n'est pas fermée, juste cachée. L'application peut toujours accéder à la fiche.
    caFree --> La fiche est fermée et toute la mémoire allouée à la fiche est libérée.
    caMinimize --> La fiche est réduite, pas fermée. C'est l'action par défaut pour les fiches enfant MDI.
    Tu peux donc, par exemple, utiliser un booléen pour savoir si tu viens de cliquer ou pas sur le bouton qui ne doit pas produire la fermeture et mettre un code comme celui-là dans le OnClose de ta fiche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (fermeture)
            Action = caFree;
    else
            Action = caNone;

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Le plus simple est peut-être d'utiliser un TSpeedButton qui n'est pas doté
    des mêmes mécanismes qu'un TButton.

    A plus !

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 795
    Par défaut
    Oui voilà
    Merci à vous deux pour les réponses !!
    Là je me sens vraiment bête... Enfin j'ai l'excuse du vendredi !!
    Encore merci

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

Discussions similaires

  1. [BCB6] Fermeture d'une TForm
    Par Draner dans le forum C++Builder
    Réponses: 9
    Dernier message: 11/06/2008, 11h03
  2. Réponses: 1
    Dernier message: 05/07/2006, 08h34
  3. [VB6] [MDI] Signaler la fermeture d'une fille à la mère
    Par cpri1shoot dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/04/2004, 08h57
  4. [TForm] Ne pas autoriser l'ouverture d'un form
    Par sbeu dans le forum Composants VCL
    Réponses: 6
    Dernier message: 11/10/2002, 11h20
  5. Probleme d'impression avec la méthode TForm->Print()
    Par Kid Icarus dans le forum C++Builder
    Réponses: 13
    Dernier message: 31/07/2002, 14h26

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