Messagedlg : changer le bouton par défaut [Résolu]

djiki 27 Messages postés dimanche 9 janvier 2005Date d'inscription 19 décembre 2007 Dernière intervention - 17 juil. 2005 à 13:49 - Dernière réponse : djiki 27 Messages postés dimanche 9 janvier 2005Date d'inscription 19 décembre 2007 Dernière intervention
- 20 juil. 2005 à 22:29
bonjour à tous,
quand je crée une messagedlg avec les boutons oui et non, c'est le bouton oui qui a le focus. Alors que j'ai besoin du bouton non par défaut.
D'aprés l'aide DELPHI c'est apperement possible mais je n'y parviens pas.
Alors si quelqu'un pouvais m'aider ce serait sympa.
Afficher la suite 

13 réponses

Répondre au sujet
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 20 juil. 2005 à 15:21
+3
Utile
precision qdialogs fait partie du composant Teechart et n'est donc pas disponible sur la version 7 preso de DELPHI
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jlen100
cs_Adkiks 40 Messages postés jeudi 20 mai 2004Date d'inscription 29 janvier 2006 Dernière intervention - 17 juil. 2005 à 18:39
0
Utile
Est-ce que tu as essayé de mettre mbNo avant mbOk ?
Commenter la réponse de cs_Adkiks
djiki 27 Messages postés dimanche 9 janvier 2005Date d'inscription 19 décembre 2007 Dernière intervention - 17 juil. 2005 à 20:50
0
Utile
He oui, j'ai déja fait l'essai mais ça ne donne rien
Commenter la réponse de djiki
roud59 103 Messages postés jeudi 16 septembre 2004Date d'inscription 26 juillet 2007 Dernière intervention - 18 juil. 2005 à 10:57
0
Utile
Salut

C'est pas possible avec MessageDlg. Pour t'en convaincre, regarde la routine function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons): TForm; dans l'unité Dialogs.pas. Tu peux changer ta phrase pour que le OUI soit la valeur par défaut ou recréer une function comme celle de delphi dans laquelle tu ajoutes un paramètre correspondant au bouton par défaut voulu.

Roud59
Commenter la réponse de roud59
cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention - 18 juil. 2005 à 12:21
0
Utile
Regarde le code multilangue de MAURICIO. Il permet de modifier le caption des boutons, donc nécessairement, via ActiveControl:=BoutonAActiver, on peut changer le focus.

===========
Validez les réponses si ok...

Commenter la réponse de cs_grandvizir
djiki 27 Messages postés dimanche 9 janvier 2005Date d'inscription 19 décembre 2007 Dernière intervention - 18 juil. 2005 à 20:03
0
Utile
ok, vos pistes sont pas mal ,je vais creuser un peu, mais je n'arrive toujours pas à comprendre porquoi dans l'aide de delphi, on nous parle des fonctions overload qui semble résoudre lle problème ? C peut etre réservé au versions commerciales ?
Commenter la réponse de djiki
cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention - 19 juil. 2005 à 08:41
0
Utile
Salut,



Il y a effectivement un paquet de formats pour la fonction MessageDlg (définis avec la directive overload).

Celle qui t'intéresse est définie dans l'unité QDialogs et pas dans Dialogs comme les formes de base.

Donc : Uses QDialogs si tu possède cette unité et appel du type (aide de Delphi)



if MessageDlg('Bienvenue dans mon application Delphi. Quitter?',

mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes then







Ken@vo
Code, Code, Codec !

[%3C/body ]
Commenter la réponse de cs_Kenavo
cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention - 19 juil. 2005 à 16:42
0
Utile
Je ne connais pas cette unité. D'où vient-elle ? Des composants QuickReport ?

===========
Commenter la réponse de cs_grandvizir
cs_Adkiks 40 Messages postés jeudi 20 mai 2004Date d'inscription 29 janvier 2006 Dernière intervention - 19 juil. 2005 à 20:27
0
Utile
Essaie ceci:
with CreateMessageDialog('Votre texte.', mtError, mbOKCancel) do
try
{ Récupèrer le focus des boutons }
TButton(FindComponent('Cancel')).TabOrder := 0;
{Changer le libellé du bouton Annuler}
TButton(FindComponent('Cancel')).Caption := 'Non ';

ShowModal;
finally
Free;
end;
Voila, vous n'avez plus qu'a l'adapter a votre code.....
Commenter la réponse de cs_Adkiks
cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention - 19 juil. 2005 à 22:35
0
Utile
> Grandvizir



L'unité QDialogs est dans Delphi 7 mais pas dans Delphi 4. De là a te dire quand elle est apparue ....



Ken@vo

Code, Code, Codec !

[%3C/body ]
Commenter la réponse de cs_Kenavo
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 20 juil. 2005 à 09:37
0
Utile
>Kenavo

L'unité QDialogs est également dans DELPH6...
Commenter la réponse de jlen100
djiki 27 Messages postés dimanche 9 janvier 2005Date d'inscription 19 décembre 2007 Dernière intervention - 20 juil. 2005 à 11:09
0
Utile
En ce qui me concerne j'ai Delphi 7 edition personnelle et QDialogs est introuvable
Commenter la réponse de djiki
djiki 27 Messages postés dimanche 9 janvier 2005Date d'inscription 19 décembre 2007 Dernière intervention - 20 juil. 2005 à 22:29
0
Utile
Bon ben c'est pas grave , je me suis refait les fonctions en m'inspirant du post de Kenavo et ça marche !
merci à tous
ps. je vais mettre mon source Dialogs2 pour si ça interresse quelqu'un
Commenter la réponse de djiki

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.