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 :

Desactiver bouton fermer


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 71
    Par défaut Desactiver bouton fermer
    Bonjour,
    je voudrais empecher l'utilisateur de fermer une forme

    j'ai cherché la proprété CanClose (pour lui affecter la valeur false) mais je ne la trouve pas!

    de plus je ne sais comment l'utiliser avec les evenement OnClose ou OnCloseQuery ....j'ai cherché dans l'aide de code gear mais ce n'est guerre clair!

    pourriez vous m'indiquer la maniere d'utiliser ces evenements et propriétés??
    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    Salut

    C est peut être pas ce que tu veux

    Form1->BorderIcons->biSystemMenu=false

    Ca te fait sauter les boutons mini , max , close mais la barre pour déplacer est conservée , rien ne t empêche de rajouter un petit bouton ou une image pour pouvoir fermer la form au cas échéant


    Sinon dans l aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
    {
    CanClose = false;
     
    }

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 71
    Par défaut
    Merci pour ton aide
    j'ai essayé d'appliquer la premiere solution
    j'ai cherché la propriété BorderIcons et j'ai trouvé qu'elle a la fonction Contains qui renvoie true si l'objet TBorderIcon est contenu dans la BorderIcons et false i non
    j'ai écrit ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frmcnslm->BorderIcons.Contains(biSystemMenu)=false;
    mais ça me donne l'erreur:
    Lvalue nécessaire

    Contains n'a pas de Value comme propriété ...

    comment faire fonctionner cette méthode??

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

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

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Enlever biSystemMenu:
    frmcnslm->BorderIcons = frmcnslm->BorderIcons >> biSystemMenu;
    ...
    // Autre exemple: On ajoute biMaximize:
    frmcnslm->BorderIcons = frmcnslm->BorderIcons << biMaximize;
    ...
    // On ne met que biMinimize
    frmcnslm->BorderIcons = TBorderIcons() << biMinimize;

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    On peut faire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
    {
    Action = caNone;
    }
    Mais il faut quand même prévoir une action claire pour fermer la fiche. Sinon, l'utilisateur passera par le gestionnaire des tâches.

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 71
    Par défaut
    Merci tout le monde
    mais ça ne marche tjrs pas!
    j'ai essayé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall Tfrmcnslm::FormCreate(TObject *Sender)
    {
    frmcnslm->BorderIcons = frmcnslm->BorderIcons >> biSystemMenu;
    }
    quant à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall Tfrmcnslm::FormClose(TObject *Sender, TCloseAction &Action)
    {
    Action = caNone;
    }
    un message dit que :
    FormClose(TObject *Sender, TCloseAction &Action)
    n'est pas membre de frmcnslm


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

Discussions similaires

  1. Acitver desactiver le bouton fermer un formualire
    Par inter_amine dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/11/2008, 14h51
  2. desactivé bouton fermer tant que tt n'est pas saisi
    Par mat75019 dans le forum Access
    Réponses: 7
    Dernier message: 11/04/2006, 20h34
  3. Désactiver le bouton "fermer fomulaire"
    Par 973thom dans le forum IHM
    Réponses: 10
    Dernier message: 03/02/2005, 20h26
  4. desactiver bouton
    Par pascal.cargouet dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/01/2005, 14h21
  5. desactiver bouton pour certains enregistrements
    Par GymTonic dans le forum IHM
    Réponses: 7
    Dernier message: 04/01/2005, 23h46

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