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

Messages postés
27
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
19 décembre 2007
- - Dernière réponse : djiki
Messages postés
27
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
19 décembre 2007
- 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 

Votre réponse

13 réponses

Meilleure réponse
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
3
Merci
precision qdialogs fait partie du composant Teechart et n'est donc pas disponible sur la version 7 preso de DELPHI

Merci jlen100 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de jlen100
Messages postés
40
Date d'inscription
jeudi 20 mai 2004
Dernière intervention
29 janvier 2006
0
Merci
Est-ce que tu as essayé de mettre mbNo avant mbOk ?
Commenter la réponse de cs_Adkiks
Messages postés
27
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
19 décembre 2007
0
Merci
He oui, j'ai déja fait l'essai mais ça ne donne rien
Commenter la réponse de djiki
Messages postés
103
Date d'inscription
jeudi 16 septembre 2004
Dernière intervention
26 juillet 2007
0
Merci
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
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Dernière intervention
3 septembre 2006
0
Merci
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
Messages postés
27
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
19 décembre 2007
0
Merci
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
Messages postés
759
Date d'inscription
vendredi 21 mars 2003
Dernière intervention
1 octobre 2009
0
Merci
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
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Dernière intervention
3 septembre 2006
0
Merci
Je ne connais pas cette unité. D'où vient-elle ? Des composants QuickReport ?

===========
Commenter la réponse de cs_grandvizir
Messages postés
40
Date d'inscription
jeudi 20 mai 2004
Dernière intervention
29 janvier 2006
0
Merci
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
Messages postés
759
Date d'inscription
vendredi 21 mars 2003
Dernière intervention
1 octobre 2009
0
Merci
> 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
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
0
Merci
>Kenavo

L'unité QDialogs est également dans DELPH6...
Commenter la réponse de jlen100
Messages postés
27
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
19 décembre 2007
0
Merci
En ce qui me concerne j'ai Delphi 7 edition personnelle et QDialogs est introuvable
Commenter la réponse de djiki
Messages postés
27
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
19 décembre 2007
0
Merci
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.