Delphi 7 et MessageDlg : problème de bouton par défaut [Résolu]

Messages postés
133
Date d'inscription
mercredi 4 février 2004
Dernière intervention
25 juillet 2012
- - Dernière réponse : informatixo
Messages postés
133
Date d'inscription
mercredi 4 février 2004
Dernière intervention
25 juillet 2012
- 25 mai 2005 à 14:08
J'ai une confirmation de suppression que je fais à l'aide d'un MessageDlg de la manière suivante et qui fonctionne très bien !



MessageDlg('Voulez-vous réellement supprimer ces informations ?',mtConfirmation,[mbYes,mbNo],0);



Lors de cette affichage c'est le bouton oui qui a le focus,
c'est-à-dire qui est sélectionné par défaut. Le problème est que si
l'utilisateur appuie sur entrée par mégarde il perdra l'information.



J'ai regardé l'aide de delphi et ils mettent qu'il est possible de
définir un bouton par défaut lors de l'affichage du message en
procédant comme suit :



MessageDlg('Voulez-vous réellement supprimer ces informations ?',mtConfirmation,[mbYes,mbNo],0,mbNo);



Dans l'aide il est noté qu'il suffit d'indiquer en dernier (après le 0)
quel doit être le bouton par défaut, ici pour mon exemple "mbNo" qui
est souligné dans le message ci-dessus.



Le problème est que dès que je compile il s'arrête sur ce message en me
mettant le message d'erreur suivant : "[Erreur] Unit1.pas(28): Trop de
paramètres originaux"



Quelqu'un a t-il une idée ? Est-ce arrivé à quelqu'un ou bien est-ce
que celà fonctionne chez vous ? Peut-être est-ce mon Delphi 7 qui
déconne ?



Merci pour votre aide.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
759
Date d'inscription
vendredi 21 mars 2003
Dernière intervention
1 octobre 2009
3
Merci
Salut,

Pour répondre à ta question, Informatixo, if faut ajouter QDialogs à la clause Uses de ton unité.

Les deux définitions de la fonction MessageDialog ne sont pas dans la
même unité, et celle qui t'intéresse n'est pas dans l'unité Dialog
automatiquement citée dans le Uses de ton unité.



Ken@vo

Code, Code, Codec !






[%3C/body ]

Dire « Merci » 3

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

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_Kenavo
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
0
Merci
Utilise plutôt MessageBoxA. Cette
messageBox renvoie 7 quand on clique sur "Non" et 6 pour "Oui". Dans ta
procédure, tu peux écrire directement cette ligne :

if
MessageBoxA(0,Pchar('Voulez-vous réellement supprimer ces informations
?'),Pchar('Suppression'),MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2) =
7 then exit;

Si l'utilisateur appuie sur "Non", la procédure s'arrête immédiatement, mais si il appuie sur oui, elle continue normalement.



@+
Bonne Prog'
Nico

<hr>

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !




www.ni69.new.fr</italique>
Commenter la réponse de ni69
Messages postés
133
Date d'inscription
mercredi 4 février 2004
Dernière intervention
25 juillet 2012
0
Merci
Merci à tous les 2.



Comme d'habitude tu me sauve kenavo mais par contre fallait le savoir le coup du QDialogs c'était pas indiqué.



Merci aussi à toi ni69 pour le coup du messageboxa, si j'ai besoin d'un
message où je dois personnaliser le titre j'utiliserais ça.



Encore merci et à plus.
Commenter la réponse de informatixo

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.