Personnaliser la boite de dialogue
Bonjour!
Espérant que cette contribution aidera à comprendre le mécanisme de personnalisation d'une boite de dialogue. En effet, toute l'astuce réside dans l'utilisation de la fonction CreateMessageDialog.
L'exemple présenté ici est assez simple mais très fréquent, c'est celui de a boite de dialogue qu'on trouve assez souvent au démarrage des logiciels, et qui contient un checkbox dont le texte est "Ne plus afficher..." ou un message semblable.
Ceci dit, il est assez aisé de personnaliser les boites de messages selon la demande.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| procedure TForm1.Button1Click(Sender: TObject);
Var
AMsgDialog: TForm;
ACheckBox: TCheckBox;
begin
AMsgDialog := CreateMessageDialog('Ceci est un message test', mtWarning, [mbYes, mbNo]);
ACheckBox := TCheckBox.Create(AMsgDialog);
with AMsgDialog do
try
Caption := 'Titre test' ;
Height := 169;
With ACheckBox do
begin
Parent := AMsgDialog;
Caption := 'Ne plus afficher... ';
top := 121;
Left := 8;
end;
Case ShowModal of
ID_YES: ;// votre code ici
ID_NO: ;
end;
If ACheckBox.Checked then
begin
//...
end;
finally
ACheckBox.Free;
Free;
end;
end; |