- // Tout d'abord, créer un fichier ressource dans lequel vous allez mettre votre icône préférée et donnez à cette ressource un identifiant numérique (105 par exemple).
- Ensuite, intégrez la directive qui va compiler votre fichier ressource avec l'exécutable :
-
- implementation
-
- {$R *.dfm}
- {$R MonIcone.res} // Ce fichier ressource contient l'icône.
-
- // Déclarez un objet de type MsgBoxParams directement dans l'évènement où vous
- souhaitez faire apparaître la boîte ou alors,
- dans les variables globales de votre programme, c'est selon votre besoin.
-
- procedure TfrmMain.btTestClick(Sender: TObject);
- var aBox: MSGBOXPARAMS;
- begin
-
- // Ensuite, vous devez définir les propriétés de notre boîte.
-
- aBox.cbSize := SizeOf(aBox);
- aBox.hwndOwner := Application.Handle;
- aBox.hInstance := hinstance;
- aBox.lpszText := 'Voilà ma boîte de message avec icône perso :-p';
- aBox.lpszCaption := 'CodeS-SourceS.com';
- aBox.dwStyle := MB_USERICON + MB_YESNO; // Tous les styles connus peuvent être appliqués. Il y'en a d'autres, dont MB_USERICON, qui permet donc de mettre une icône personnalisée.
- aBox.lpszIcon := MakeIntResource(105); // Cette propriété reçoit une chaîne ou l'identifiant numérique de l'icone.
- aBox.dwContextHelpId := 0;
- aBox.lpfnMsgBoxCallback := nil;
- aBox.dwLanguageId := LANG_FRENCH;
-
- // A présent nous devons détecter quel est le bouton pressé, pour ce faire,
- il faut récupérer la valeur cardinale renvoyée par la boîte de message et nous pouvons distinguer :
- //bouton OUI = 6 = mrYes
- //bouton NON = 7 = mrNo
- //bouton OK = 1 = mrOK
- //bouton ANNULER = 2 = mrCancel
- //bouton ABANDONNER = 3 = mrAbort
- //bouton REESSAYER = 4 = mrRetry
- //bouton IGNORER = 5 = mrIgnore
-
- if Cardinal(MessageBoxIndirect(aBox)) = mrYes then
- begin
- .....instructions....
- end;
-
- end;
// Tout d'abord, créer un fichier ressource dans lequel vous allez mettre votre icône préférée et donnez à cette ressource un identifiant numérique (105 par exemple).
Ensuite, intégrez la directive qui va compiler votre fichier ressource avec l'exécutable :
implementation
{$R *.dfm}
{$R MonIcone.res} // Ce fichier ressource contient l'icône.
// Déclarez un objet de type MsgBoxParams directement dans l'évènement où vous
souhaitez faire apparaître la boîte ou alors,
dans les variables globales de votre programme, c'est selon votre besoin.
procedure TfrmMain.btTestClick(Sender: TObject);
var aBox: MSGBOXPARAMS;
begin
// Ensuite, vous devez définir les propriétés de notre boîte.
aBox.cbSize := SizeOf(aBox);
aBox.hwndOwner := Application.Handle;
aBox.hInstance := hinstance;
aBox.lpszText := 'Voilà ma boîte de message avec icône perso :-p';
aBox.lpszCaption := 'CodeS-SourceS.com';
aBox.dwStyle := MB_USERICON + MB_YESNO; // Tous les styles connus peuvent être appliqués. Il y'en a d'autres, dont MB_USERICON, qui permet donc de mettre une icône personnalisée.
aBox.lpszIcon := MakeIntResource(105); // Cette propriété reçoit une chaîne ou l'identifiant numérique de l'icone.
aBox.dwContextHelpId := 0;
aBox.lpfnMsgBoxCallback := nil;
aBox.dwLanguageId := LANG_FRENCH;
// A présent nous devons détecter quel est le bouton pressé, pour ce faire,
il faut récupérer la valeur cardinale renvoyée par la boîte de message et nous pouvons distinguer :
//bouton OUI = 6 = mrYes
//bouton NON = 7 = mrNo
//bouton OK = 1 = mrOK
//bouton ANNULER = 2 = mrCancel
//bouton ABANDONNER = 3 = mrAbort
//bouton REESSAYER = 4 = mrRetry
//bouton IGNORER = 5 = mrIgnore
if Cardinal(MessageBoxIndirect(aBox)) = mrYes then
begin
.....instructions....
end;
end;