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

Delphi Discussion :

question de messageBox


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Par défaut question de messageBox
    Bonjour...

    J'aimerai savoir comment on fait pour dévalider la petite croix (pour la fermeture) d'une messageBox...

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2006
    Messages : 121
    Par défaut
    Pourquoi faire?

    En principe, si tu fais un message box de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageDlg('Mon mess',mtConfirmation,[mbOK,MbCancel],0) ;
    Le fait de cliquer sur la croix windows va provoquer mrCancel, comme le bouton Annuler.
    Corrigez moi si je me trompe...

  3. #3
    Membre confirmé Avatar de [Silk]
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2005
    Messages : 198
    Par défaut
    Salut,
    Citation Envoyé par Alyx²
    Le fait de cliquer sur la croix windows va provoquer mrCancel, comme le bouton Annuler.
    c'est exactement ça.

    Sinon si tu ne veux vraiment pas la croie rouge tu peux te "bricoler" une petite boite de dialogue a partir d'une fiche et mettre tous les BorderIcons à false comme sa la croix rouge ne sera plus disponible.

    La solution d'Alyx est la plus pratique, seulement s'il n'y a pas de bouton cancel, appuyer sur la croix rouge reviens à faire un cancel donc tu devras le gérer.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Par défaut
    En plus il faut gérer la touche Echap qui est le raccourci Windows de Cancel-Annuler...

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2006
    Messages : 121
    Par défaut
    D'où l'interet de gerer le cas mrCancel quoi qu'il en soit.
    Sauf si c'est pour un simple message de notification, là ca n'a pas vraiment d'importance...

  6. #6
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Si tu utilises MessageBox (l'API) plutôt que MessageDlg (de la VCL), la croix n'est activée (et la touche échap) que si un bouton Cancel est affiché.

    J'ai aussi codé une fonction ShowDialog (voir l'unité SjrdUsual) qui accepte des paramètres de type VCL (type string et set of au lieu de PChar et flags) et qui appelle MessageBox en interne.
    Comme ça tu peux utiliser les API natives sans même t'en rendre compte (c'est le principe même de la VCL d'ailleurs).
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/06/2011, 10h25
  2. MessageBox : questions ?
    Par Ehjoe dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 04/12/2010, 01h40
  3. [MessageBox] question
    Par pitit777 dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 08/04/2006, 00h10
  4. Question de faisabilité
    Par lisarasu dans le forum CORBA
    Réponses: 3
    Dernier message: 14/05/2002, 11h26
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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