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 :

MessageDlg + Focus


Sujet :

C++Builder

  1. #1
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut MessageDlg + Focus
    Bonjour,
    Mon probl�me est tr�s simple, J'utilise la fonction MessageDlg(..,..,..,..) pour afficher un message � l'utilisateur.
    Cependant, le focus est donn� sur le premier bouton, c�d dans le cas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if(MessageDlg("coucou", mtConfirmation, TMsgDlgButtons()<<mbYes<<mbNo<<MbCancel,0) == mrYes)
    {
      ...
      ...
    }
    else
    {
      ...
      ...
    }
    le focus est sur le buton [YES], je cherche � ce que le focus soit sur le bouton [NO] par exemple.

    Es-ce que quelqu'un � une id�e comment le faire.

    @+

  2. #2
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    une id�e "bourrin" serait de lancer un Timer avant ta commande MsgDlg et le faire simuler un appuie sur le bouton droite du clavier.

  3. #3
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    Mais si je lance MessageDlg depuis une class, alors je dois d�clarer un TTimer. Oui OK mais ya t'il une autre alternative.
    Merci.

    Je pense que peut-�tre il y a une autre fonction qui le permet.

  4. #4
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    42
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Par d�faut
    Un autre idee "bourrin":

    Passe ton message a un 'Box dialogue' que tu construit, et sur ce dialogue tu donne le 'NO' bouton le TabOrder 0.

  5. #5
    Membre exp�riment�

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par d�faut
    C'est souvent plus facile avec l'API qu'avec les ersatz.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if (::MessageBox(this->Handle, "Coucou", "MyMsgBox", MB_YESNOCANCEL | MB_DEFBUTTON2)==IDYES)
    {
    }
    http://msdn.microsoft.com/library/de...messagebox.asp

    yarp
    www.senosoft.com

  6. #6
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    OK, vous avez raison,
    Merci.
    voici ce que j'ai utiliser, j'ai ajouter une iconne.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    if (::MessageBox(this->Handle, "Coucou", "MyMsgBox", MB_YESNOCANCEL | MB_DEFBUTTON2|MB_ICONINFORMATION)==IDYES)
    {
      ...
      ...
    }

  7. #7
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    yarp a ecrit:
    C'est souvent plus facile avec l'API qu'avec les ersatz.
    J'ai teste de cette facon et cela marche.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    (MessageBox(this->Handle, "Coucou", "MyMsgBox", MB_YESNOCANCEL | MB_DEFBUTTON2)==IDYES);
    }

  8. #8
    Membre exp�riment�

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par d�faut
    Je ne te suis pas ?

  9. #9
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    C'est simple, dans MessageBox, tu peut ajouter un element pour donner le bouton par defaut, ici c'est le parametre MB_DEFBUTTON2

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Focus sur un bouton de MessageDlg
    Par colorid dans le forum Langage
    R�ponses: 3
    Dernier message: 06/08/2011, 10h58
  2. R�ponses: 2
    Dernier message: 01/05/2006, 18h02
  3. Comment �tre sure que mon appli prenne le focus ?
    Par AmaX dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 21/12/2002, 15h00
  4. Cr�er une fen�tre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    R�ponses: 4
    Dernier message: 17/07/2002, 10h46
  5. focus en C
    Par killpilot dans le forum C
    R�ponses: 8
    Dernier message: 19/04/2002, 19h19

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