Bonsoir à tous,
en manipulant la fonction MessageDlg(...), je suis tombé sur un problème assez étrange: la valeur de retour de cette fonction ne correspond pas avec ce qui est indiqué dans la documentation !
J'ai réalisé une petite fonction de teste, la voici:
Je ne sais pas chez vous, mais chez moi, le seul bouton qui est reconnu est le "Cancel".... Les deux autres renvoient des valeurs inconnue (Yes: val=3 et No: val=4), et quand on ferme la boite de dialogue par la croix en haut à droite, je reçois la valeur 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function Test():Boolean; var i:Integer; begin i:=MessageDlg('Test','Appuyez sur qqchose:', mtInformation, mbYesNoCancel, 0); case i of mrYes: ShowMessage('Vous avez cliqué sur Yes !'); mrNo: ShowMessage('Vous avez cliqué sur No !'); mrCancel: ShowMessage('Vous avez cliqué sur Cancel !'); else ShowMessage('Sur quoi t''as cliqué ??! Valeur reçue='+IntToStr(i)); end; end;
Je pourrais bien tester directement ces valeurs, mais ce serait pas très beau... Pourquoi diable les constantes ne correspondent-elles pas ??!
(mrYes vaut 6, mrNo je sais pas)
Merci d'avance !
PS:
Envoyé par Delphi doc
Partager