Difference between revisions of "Dialog Examples/fr"

From Lazarus wiki
Jump to navigationJump to search
m (don't translate the templates)
m (Fixed syntax highlighting)
 
(30 intermediate revisions by 4 users not shown)
Line 11: Line 11:
 
* function PasswordBox(const ACaption, APrompt : String) : String;
 
* function PasswordBox(const ACaption, APrompt : String) : String;
  
Chacun de ces composants affiche une petite fenêtre contenant quelques informations et demandent  une réponse à l'utilisateur : d'appuyer sur un bouton, d'entrer un texte ou les deux. Le développeur n'a que peu de contrôle sur le format, la taille ou la position de ces boîtes de dialogue, mais peut influer sur leur contenu textuel.<br>
+
Chacun de ces composants affiche une petite fenêtre contenant quelques informations et demande une réponse à l'utilisateur : d'appuyer sur un bouton, d'entrer un texte ou les deux. Le développeur n'a que peu de contrôle sur le format, la taille ou la position de ces boîtes de dialogue, mais peut influer sur leur contenu textuel.<br>
 
La raison pour laquelle il y a tant d'alternatives différentes , et de permettre différentes méthodes d'appel de composant et de recevoir des informations en retour depuis une procédure ou une fonction.
 
La raison pour laquelle il y a tant d'alternatives différentes , et de permettre différentes méthodes d'appel de composant et de recevoir des informations en retour depuis une procédure ou une fonction.
  
Line 26: Line 26:
 
Exemple :
 
Exemple :
  
 +
<syntaxhighlight lang=pascal>
 
  Program LazMessage;
 
  Program LazMessage;
 
  Uses Dialogs;
 
  Uses Dialogs;
Line 31: Line 32:
 
   ShowMessage ('C''est un message de Lazarus.')
 
   ShowMessage ('C''est un message de Lazarus.')
 
  end.
 
  end.
 
+
</syntaxhighlight>
 
===MessageBox===
 
===MessageBox===
 
  Function Application.MessageBox (Text, Caption: PChar; Flags: longint) : Integer;
 
  Function Application.MessageBox (Text, Caption: PChar; Flags: longint) : Integer;
 
   
 
   
  { Defined in Forms.pp as part of TApplication; hence must be called as Application.Messagebox () or using the 'with Application do ...' construct }
+
  { Défini dans  Forms.pp comme une partie de TApplication; par conséquent doit être appelé par
 +
  Application.Messagebox () ou en utilisant la construction 'with Application do ...'}
  
 
Paramètres :
 
Paramètres :
Line 41: Line 43:
 
* Text : la chaîne de caractères qui est affichée dans la boîte de dialogue ;
 
* Text : la chaîne de caractères qui est affichée dans la boîte de dialogue ;
 
* Caption : la chaîne de caractère affiché dans la barre de titre de la boîte de dialogue ;
 
* Caption : la chaîne de caractère affiché dans la barre de titre de la boîte de dialogue ;
* Flags : longint – une constante qui peut définir le contenu et le comportement de la boîte de dialogue, par exemple MB_ABORTRETRYIGNORE + MR_ICONQUESTION fera en sorte que le programme affichera l'icône d'un point d'interrogation dans la boîte de dialogue (?) accompagné de trois boutons : ABORT RETRY IGNORE.
+
* Flags : longint – une constante qui peut définir le contenu et le comportement de la boîte de dialogue, par exemple MB_ABORTRETRYIGNORE + MB_ICONQUESTION fera en sorte que le programme affiche l'icône d'un point d'interrogation dans la boîte de dialogue (?) accompagné de trois boutons : ABORT RETRY IGNORE.
  
La fonction renvoie un entier correspondant au bouton appuyé ; cette valeur peut être déterminé par en faisant référence aux constantes [IDOK..IDHELP]
+
La fonction renvoie un entier correspondant au bouton appuyé ; cette valeur peut être déterminée en faisant référence aux constantes [IDOK..IDHELP]
  
 
Cette fonction peut être appelée en tant que procédure (ie comme 'MessageBox()' au lieu de 'Variable := MessageBox()' comme on le ferait normalement pour une appel de fonction – voir exemple ci-dessous)
 
Cette fonction peut être appelée en tant que procédure (ie comme 'MessageBox()' au lieu de 'Variable := MessageBox()' comme on le ferait normalement pour une appel de fonction – voir exemple ci-dessous)
Line 49: Line 51:
 
Exemple :
 
Exemple :
  
 +
<syntaxhighlight lang=pascal>
 
  Uses Forms, Dialogs, LCLType;
 
  Uses Forms, Dialogs, LCLType;
 
   
 
   
Line 62: Line 65:
 
     end;
 
     end;
 
  end;
 
  end;
 +
</syntaxhighlight>
 +
<center>[[Image:MessageBoxDemo.png]]</center>
  
<center>[[MessageBoxDemo.png]]</center>
+
<center>[[Image:ReplyYes.png]]</center>
<center>[[ReplyYes.png]]</center>
 
  
 
===MessageDLG===
 
===MessageDLG===
Line 74: Line 78:
 
Il existe deux versions de cette fonction, si vous omettez de renseigner 'Caption', ce sera la première fonction qui sera appelée et 'Caption' sera vide dans la boîte de dialogue.
 
Il existe deux versions de cette fonction, si vous omettez de renseigner 'Caption', ce sera la première fonction qui sera appelée et 'Caption' sera vide dans la boîte de dialogue.
  
C'est la plus complète et la plus abouti des fonctions d'appel de boîte de dialogue, elle autorise au programmeur un contrôle maximal sur l'apparence de la boîte.
+
C'est la plus complète et la plus aboutie des fonctions d'appel de boîte de dialogue, elle autorise au programmeur un contrôle maximal sur l'apparence de la boîte.
Les paramètres définicent le type de boîte et son icône via une constante entière, et les boutons peuvent être spécifié via [mbRetry, mbIgnore, mbAbort, mbCancel].
+
Les paramètres définissent le type de boîte et son icône via une constante entière, et les boutons peuvent être spécifié via [mbRetry, mbIgnore, mbAbort, mbCancel].
 
Le paramètre HelpCtx n'est pas encore implémenté et doit être initialisé à zéro.
 
Le paramètre HelpCtx n'est pas encore implémenté et doit être initialisé à zéro.
La valeur de retour de cette fonction et la valeur correspondante au bouton appuyé, exprimé par un entier (voir les définitions plus bas, [mrNone..mrAll]).
+
La valeur de retour de cette fonction et la valeur correspondante au bouton appuyé, exprimée par un entier (voir les définitions plus bas, [mrNone..mrAll]).
  
 
Exemple :
 
Exemple :
  
 +
<syntaxhighlight lang=pascal>
 
  Uses forms, dialogs, lcltype, controls;
 
  Uses forms, dialogs, lcltype, controls;
 
   
 
   
 
  procedure TryMessageDlg;
 
  procedure TryMessageDlg;
 
  begin
 
  begin
   if MessageDlg ('Question', 'Souhaitez-vous l'exécuter ?', mtConfirmation,  
+
   if MessageDlg ('Question', 'Souhaitez-vous l''exécuter ?', mtConfirmation,  
 
                   [mbYes, mbNo, mbIgnore],0) = mrYes
 
                   [mbYes, mbNo, mbIgnore],0) = mrYes
 
   then { Exécuter la suite du programme};
 
   then { Exécuter la suite du programme};
 
  end;
 
  end;
 +
</syntaxhighlight>
  
<center>[[Question.png]]</center>
+
<center>[[Image:Question.png]]</center>
  
 
==Boîtes de dialogue de texte==
 
==Boîtes de dialogue de texte==
Line 98: Line 104:
 
  Function InputBox(const ACaption, APrompt, ADefault : String) : String;
 
  Function InputBox(const ACaption, APrompt, ADefault : String) : String;
  
Displays a box with defined title and prompt, and expects user input in a text box. Une chaîne de caractère réponse, peut être rentré optionnellement. The user-entered or default string is returned as the function result.
+
Affiche une boîte de dialogue avec le titre et le message de sollicitation définis , et s'attend à ce que l'utilisateur entre un texte dans la boîte de dialogue. Une chaîne de caractère par défaut, peut être rentrée optionnellement. La chaîne de caractères entrée par l'utilisateur ou par défaut est retournée comme résultat de la fonction.
  
 
Exemple :
 
Exemple :
  
 +
<syntaxhighlight lang=pascal>
 
  Uses forms, lcltype, dialogs, controls;
 
  Uses forms, lcltype, dialogs, controls;
 
   
 
   
Line 111: Line 118:
 
   ShowMessage (userstring)
 
   ShowMessage (userstring)
 
  end;
 
  end;
 +
</syntaxhighlight>
  
 
===InputQuery===
 
===InputQuery===
Line 118: Line 126:
 
                     var Value : String) : Boolean;
 
                     var Value : String) : Boolean;
  
Two versions of this function which displays a prompt and expects user input of textual data; the first includes a MaskInput boolean parameter which determines whether the user input is masked out by asterisks in the text-input box (like during entry of a password), while the second omits this property. The text entered by the user is returned in the variable parameter 'Value'; the function result is a boolean which returns TRUE if the OK button was pressed, or FALSE if the box was closed by any other mechanism (such as clicking the 'Close' icon on the top title bar). Omitting the MaskInput parameter is equivalent to setting it FALSE.
+
Deux versions de cette fonction qui affiche un message de sollicitation et s'attend à une entrée par l'utilisateur de données textuelles; la première inclue un paramètre booléen MaskInput qui détermine si l'entrée de l'utilisateur est masquée par des astérisques dans la boîte de saisie du texte (comme pendant l'entrée d'un mot de passe ), tandis que la seconde omet cette propriété. Le texte entré par l'utilisateurest retourné dans le paramètre variable 'Value'; le résultat de fonction est un booléen qui retourne  TRUE si le bouton OK était appuyé , ou  FALSE si la boîte de dialogue était fermée par n'importe quel autre mécanisme (comme cliquer sur l'icône 'Close' sur la barre supérieure de titre ). Omettre le paramètre MaskInput est équivalent à le paramétrer à FALSE.
  
 
Exemple :
 
Exemple :
  
 +
<syntaxhighlight lang=pascal>
 
  Uses forms, lcltype, dialogs, controls;
 
  Uses forms, lcltype, dialogs, controls;
 
   
 
   
Line 136: Line 145:
 
   end
 
   end
 
  end;
 
  end;
 +
</syntaxhighlight>
 +
<center>[[Image:MessageDlgQuestion.png]]</center>
  
<center>[[MessageDlgQuestion.png]] </center>
+
<center>[[Image:DontBeSillly.png]]</center>
 
 
<center>[[DontBeSillly.png]]</center>
 
  
 
===PasswordBox===
 
===PasswordBox===
 
  Function PasswordBox(const ACaption, APrompt : String) : String;
 
  Function PasswordBox(const ACaption, APrompt : String) : String;
  
Behaves very similarly to the InputQuery function with MaskInput = TRUE; the difference is that the password that was typed in is returned as the result of the function (like InputBox).
+
Se comporte similairement à la fonction InputQuery avec  MaskInput = TRUE; la différence est que le mot de passe qui a été saisi est retourné comme résultat de la fonction (comme InputBox).
  
==Constants and Types used in message dialogs==
+
==Constantes et types utilisés dans des dialogues de message ==
  
Several constants and types relevant for use with the dialog boxes are pre-defined in the LCL library:
+
Plusieurs constantes et types appropriés pour l'usage avec les boites de dialogue sont prédéfinis dans la bibliothèque LCL :
  
const { Déclaré dans LCLType.pp }
 
  
integer constants for defining the types of buttons
+
Constantes de nombre entier pour définir les types de boutons
and the icon for display in MessageBox
+
et les icônes pour l'affichage dans MessageBox
  
 +
<syntaxhighlight lang=pascal>
 +
const { Déclaré dans LCLType.pp }
 
  MB_OK = $00000000;
 
  MB_OK = $00000000;
 
  MB_OKCANCEL = $00000001;
 
  MB_OKCANCEL = $00000001;
Line 170: Line 180:
 
  MB_ICONERROR = MB_ICONHAND;
 
  MB_ICONERROR = MB_ICONHAND;
 
  MB_ICONINFORMATION = MB_ICONASTERICK;
 
  MB_ICONINFORMATION = MB_ICONASTERICK;
 +
</syntaxhighlight>
 +
Constantes de nombre entier définissant la valeur de retour de MessageBox selon quel bouton a été appuyé
  
integer constants defining the return value from MessageBox according to which button was pressed
+
<syntaxhighlight lang=pascal>
 
 
 
  IDOK = 1; ID_OK = IDOK;
 
  IDOK = 1; ID_OK = IDOK;
 
  IDCANCEL = 2; ID_CANCEL = IDCANCEL;
 
  IDCANCEL = 2; ID_CANCEL = IDCANCEL;
Line 182: Line 193:
 
  IDCLOSE = 8; ID_CLOSE = IDCLOSE;
 
  IDCLOSE = 8; ID_CLOSE = IDCLOSE;
 
  IDHELP = 9; ID_HELP = IDHELP;
 
  IDHELP = 9; ID_HELP = IDHELP;
 +
</syntaxhighlight>
 +
Défini si le premier, le deuxième ou le troisième bouton est celui par défaut
  
define whether first, second or third button is default
+
<syntaxhighlight lang=pascal>
 
 
 
  MB_DEFBUTTON1 = $00000000;
 
  MB_DEFBUTTON1 = $00000000;
 
  MB_DEFBUTTON2 = $00000100;
 
  MB_DEFBUTTON2 = $00000100;
 
  MB_DEFBUTTON3 = $00000200;
 
  MB_DEFBUTTON3 = $00000200;
 
  MB_DEFBUTTON4 = $00000300;
 
  MB_DEFBUTTON4 = $00000300;
 +
</syntaxhighlight>
  
The Flags parameter of MessageBox is constructed by adding a button constant [MB_OK..MB_RETRYCANCEL],
+
Le paramètre drapeaux de MessageBox est construit en ajoutant une constante de bouton [MB_OK..MB_RETRYCANCEL],
an optional icon constant [MB_ICONHAND..MB_ICONINFORMATION]
+
une constante facultative d'icône  [MB_ICONHAND..MB_ICONINFORMATION] et une constante facultative de bouton par défaut [MB_DEFBUTTON1..MB_DEFBUTTON3]
and an optional default button constant [MB_DEFBUTTON1..MB_DEFBUTTON3]
 
 
 
Types for use in MessageDlg, which needs parameters
 
AType of TMsgDlgType and AButtons of TMSgDlgButtons
 
  
 +
Ce qui est écrit dans Dialogs.pp pour l'utilisation dans MessageDlg, qui a besoin des paramètres
 +
Atype de type TMsgDlgType et AButtons de type TMSgDlgButtons :
  
 +
<syntaxhighlight lang=pascal>
 
  { Déclaré dans Dialogs.pp }
 
  { Déclaré dans Dialogs.pp }
 
  type
 
  type
Line 239: Line 251:
 
   mrYesToAll = mrNone + 10;
 
   mrYesToAll = mrNone + 10;
 
   mrLast = mrYesToAll;
 
   mrLast = mrYesToAll;
 
+
</syntaxhighlight>
 
----
 
----
 
This page has been imported from the epikwiki [http://lazarus-ccr.sourceforge.net/index.php?wiki=DialogExamples version].
 
This page has been imported from the epikwiki [http://lazarus-ccr.sourceforge.net/index.php?wiki=DialogExamples version].

Latest revision as of 08:13, 13 February 2020

Deutsch (de) English (en) español (es) suomi (fi) français (fr) 日本語 (ja) polski (pl) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN)

Quelques boîtes de dialogue pratiques

Ci-dessous quelques boîtes de dialogue pratiques non incluses dans la palette de composant :

  • procedure ShowMessage (const Msg: string);
  • function MessageBox (Text, Caption : PChar; Flags: Word): Integer;
  • function MessageDlg (const Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: LongInt): Word;
  • function InputBox (const ACaption, APrompt, ADefault: string); string;
  • function InputQuery (const ACaption, APrompt: string; var Value: string): Boolean;
  • function PasswordBox(const ACaption, APrompt : String) : String;

Chacun de ces composants affiche une petite fenêtre contenant quelques informations et demande une réponse à l'utilisateur : d'appuyer sur un bouton, d'entrer un texte ou les deux. Le développeur n'a que peu de contrôle sur le format, la taille ou la position de ces boîtes de dialogue, mais peut influer sur leur contenu textuel.
La raison pour laquelle il y a tant d'alternatives différentes , et de permettre différentes méthodes d'appel de composant et de recevoir des informations en retour depuis une procédure ou une fonction.

Message Dialogs

Message dialogs affiche un message et attend qu'une touche soit appuyée ou un double-clic de la souris.

ShowMessage

Procedure ShowMessage (const Msg: string);

{ Déclarée dans Dialogs.pp }

La boîte de dialogue renvoyant un message la plus simple : elle prend une simple chaîne de caractères en paramètre, l'affiche dans une fenêtre stéréotypée, et attend un clic de souris ou une touche appuyée avec de continuer le programme.
C'est un appel de procédure modal, tant que le bouton OK n'est pas cliqué ou validé par entrée la fenêtre reste en avant plan et garde le focus, interdisant tout autre manipulation dans le programme.

Exemple :

 Program LazMessage;
 Uses Dialogs;
 begin
   ShowMessage ('C''est un message de Lazarus.')
 end.

MessageBox

Function Application.MessageBox (Text, Caption: PChar; Flags: longint) : Integer;

{ Défini dans  Forms.pp comme une partie de TApplication; par conséquent doit être appelé par
  Application.Messagebox () ou en utilisant la construction 'with Application do ...'}

Paramètres :

  • Text : la chaîne de caractères qui est affichée dans la boîte de dialogue ;
  • Caption : la chaîne de caractère affiché dans la barre de titre de la boîte de dialogue ;
  • Flags : longint – une constante qui peut définir le contenu et le comportement de la boîte de dialogue, par exemple MB_ABORTRETRYIGNORE + MB_ICONQUESTION fera en sorte que le programme affiche l'icône d'un point d'interrogation dans la boîte de dialogue (?) accompagné de trois boutons : ABORT RETRY IGNORE.

La fonction renvoie un entier correspondant au bouton appuyé ; cette valeur peut être déterminée en faisant référence aux constantes [IDOK..IDHELP]

Cette fonction peut être appelée en tant que procédure (ie comme 'MessageBox()' au lieu de 'Variable := MessageBox()' comme on le ferait normalement pour une appel de fonction – voir exemple ci-dessous)

Exemple :

 Uses Forms, Dialogs, LCLType;
 
 Procedure DisplayMessageBox;
 var reply, boxstyle: integer;
 begin
     with application do
     begin
       boxstyle :=  MB_ICONQUESTION + MB_YESNO;
       reply :=  MessageBox ('Appuyez sur un bouton', 'MessageBoxDemo', boxstyle);
       if reply = IDYES then MessageBox ('Oui', 'Répondre',MB_ICONINFORMATION)
       else MessageBox ('Non', 'Répondre', MB_ICONHAND);
     end;
 end;
MessageBoxDemo.png
ReplyYes.png

MessageDLG

function MessageDlg(const aMsg: string; DlgType: TMsgDlgType; 
                   Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
function MessageDlg(const aCaption, aMsg: string; DlgType: TMsgDlgType; 
                   Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;

Il existe deux versions de cette fonction, si vous omettez de renseigner 'Caption', ce sera la première fonction qui sera appelée et 'Caption' sera vide dans la boîte de dialogue.

C'est la plus complète et la plus aboutie des fonctions d'appel de boîte de dialogue, elle autorise au programmeur un contrôle maximal sur l'apparence de la boîte. Les paramètres définissent le type de boîte et son icône via une constante entière, et les boutons peuvent être spécifié via [mbRetry, mbIgnore, mbAbort, mbCancel]. Le paramètre HelpCtx n'est pas encore implémenté et doit être initialisé à zéro. La valeur de retour de cette fonction et la valeur correspondante au bouton appuyé, exprimée par un entier (voir les définitions plus bas, [mrNone..mrAll]).

Exemple :

 Uses forms, dialogs, lcltype, controls;
 
 procedure TryMessageDlg;
 begin
   if MessageDlg ('Question', 'Souhaitez-vous l''exécuter ?', mtConfirmation, 
                  [mbYes, mbNo, mbIgnore],0) = mrYes
   then { Exécuter la suite du programme};
 end;
Question.png

Boîtes de dialogue de texte

InputBox

Boîte de dialogue de texte : affiche un message et attend que l'utilisateur entre une information sous forme de texte.

Function InputBox(const ACaption, APrompt, ADefault : String) : String;

Affiche une boîte de dialogue avec le titre et le message de sollicitation définis , et s'attend à ce que l'utilisateur entre un texte dans la boîte de dialogue. Une chaîne de caractère par défaut, peut être rentrée optionnellement. La chaîne de caractères entrée par l'utilisateur ou par défaut est retournée comme résultat de la fonction.

Exemple :

 Uses forms, lcltype, dialogs, controls;
 
 procedure TryInputBox;
 var userstring: string;
 begin
   userstring := InputBox ('Get some text input', 
                          'Please type in some   information', 'Some sample text');
   ShowMessage (userstring)
 end;

InputQuery

Function InputQuery(const ACaption, APrompt : String;
                    MaskInput : Boolean; var Value : String) : Boolean;
Function InputQuery(const ACaption, APrompt : String;
                    var Value : String) : Boolean;

Deux versions de cette fonction qui affiche un message de sollicitation et s'attend à une entrée par l'utilisateur de données textuelles; la première inclue un paramètre booléen MaskInput qui détermine si l'entrée de l'utilisateur est masquée par des astérisques dans la boîte de saisie du texte (comme pendant l'entrée d'un mot de passe ), tandis que la seconde omet cette propriété. Le texte entré par l'utilisateurest retourné dans le paramètre variable 'Value'; le résultat de fonction est un booléen qui retourne TRUE si le bouton OK était appuyé , ou FALSE si la boîte de dialogue était fermée par n'importe quel autre mécanisme (comme cliquer sur l'icône 'Close' sur la barre supérieure de titre ). Omettre le paramètre MaskInput est équivalent à le paramétrer à FALSE.

Exemple :

 Uses forms, lcltype, dialogs, controls;
 
 procedure TryInputQuery;
 var QueryResult: boolean;
   userstring: string;
 begin
   if InputQuery ('Question', 'Type in some data', TRUE, userstring)
   then ShowMessage (userstring)
   else 
   begin
     InputQuery ('Don''t be silly', 'Please try again', userstring);
     ShowMessage (userstring)
   end
 end;
MessageDlgQuestion.png
DontBeSillly.png

PasswordBox

Function PasswordBox(const ACaption, APrompt : String) : String;

Se comporte similairement à la fonction InputQuery avec MaskInput = TRUE; la différence est que le mot de passe qui a été saisi est retourné comme résultat de la fonction (comme InputBox).

Constantes et types utilisés dans des dialogues de message

Plusieurs constantes et types appropriés pour l'usage avec les boites de dialogue sont prédéfinis dans la bibliothèque LCL :


Constantes de nombre entier pour définir les types de boutons et les icônes pour l'affichage dans MessageBox

const { Déclaré dans LCLType.pp }
 MB_OK = $00000000;
 MB_OKCANCEL = $00000001;
 MB_ABORTRETRYIGNORE = $00000002;
 MB_YESNOCANCEL = $00000003;
 MB_YESNO = $00000004;
 MB_RETRYCANCEL = $00000005;
 
 
 MB_ICONHAND = $00000010;
 MB_ICONQUESTION = $00000020;
 MB_ICONEXCLAMATION = $00000030;
 MB_ICONASTERICK = $00000040;
 MB_ICONWARNING = MB_ICONEXCLAMATION;
 MB_ICONERROR = MB_ICONHAND;
 MB_ICONINFORMATION = MB_ICONASTERICK;

Constantes de nombre entier définissant la valeur de retour de MessageBox selon quel bouton a été appuyé

 IDOK = 1; 	ID_OK = IDOK;
 IDCANCEL = 2;	ID_CANCEL = IDCANCEL;
 IDABORT = 3;	ID_ABORT = IDABORT;
 IDRETRY = 4;	ID_RETRY = IDRETRY;
 IDIGNORE = 5;	ID_IGNORE = IDIGNORE;
 IDYES = 6;	ID_YES = IDYES;
 IDNO = 7;	ID_NO = IDNO;
 IDCLOSE = 8;	ID_CLOSE = IDCLOSE;
 IDHELP = 9;	ID_HELP = IDHELP;

Défini si le premier, le deuxième ou le troisième bouton est celui par défaut

 MB_DEFBUTTON1 = $00000000;
 MB_DEFBUTTON2 = $00000100;
 MB_DEFBUTTON3 = $00000200;
 MB_DEFBUTTON4 = $00000300;

Le paramètre drapeaux de MessageBox est construit en ajoutant une constante de bouton [MB_OK..MB_RETRYCANCEL], une constante facultative d'icône [MB_ICONHAND..MB_ICONINFORMATION] et une constante facultative de bouton par défaut [MB_DEFBUTTON1..MB_DEFBUTTON3]

Ce qui est écrit dans Dialogs.pp pour l'utilisation dans MessageDlg, qui a besoin des paramètres Atype de type TMsgDlgType et AButtons de type TMSgDlgButtons :

 { Déclaré dans Dialogs.pp }
 type
  TMsgDlgType    = (mtWarning, mtError, mtInformation,  mtConfirmation,
                    mtCustom);
  TMsgDlgBtn     = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore,
                   mbAll, mbNoToAll, mbYesToAll, mbHelp, mbClose);
  TMsgDlgButtons = set of TMsgDlgBtn;
  
 
 const
  mbYesNoCancel = [mbYes, mbNo, mbCancel];
  mbOKCancel = [mbOK, mbCancel];
  mbAbortRetryIgnore = [mbAbort, mbRetry, mbIgnore];
  
 
  MsgDlgBtnToBitBtnKind: array[TMsgDlgBtn] of TBitBtnKind = (
   bkYes, bkNo, bkOK, bkCancel, bkAbort, bkRetry, bkIgnore,
    bkAll, bkNoToAll, bkYesToAll, bkHelp, bkClose
   );
 
 
  BitBtnKindToMsgDlgBtn: array[TBitBtnKind] of TMsgDlgBtn = (
    mbOk, mbOK, mbCancel, mbHelp, mbYes, mbNo,
    mbClose, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToALl, mbYesToAll
    );
 
 
 { Déclaré dans Controls.pp }
 const
  mrNone = 0;
  mrOK = mrNone + 1;
  mrCancel = mrNone + 2;
  mrAbort = mrNone + 3;
  mrRetry = mrNone + 4;
  mrIgnore = mrNone + 5;
  mrYes = mrNone + 6;
  mrNo = mrNone + 7;
  mrAll = mrNone + 8;
  mrNoToAll = mrNone + 9;
  mrYesToAll = mrNone + 10;
  mrLast = mrYesToAll;

This page has been imported from the epikwiki version.