Si certains d'entres vous ce demande comment personnaliser les boites de dialogues MessageBox, voici une source faite d'une classe statique répondant à cette question.
Le mécanisme employé est simple, on met en place un système de crochetage (Hook) sur notre fenêtre de MessageBox que l'on désire personnaliser.
Avant la l'affichage de celle-ci la fenêtre reçoit le message WM_INITDIALOG, c'est à ce moment là que l'on va effectuer les modifs. sur les objets enfants que contient la MessageBox.
Pour cette démo, je modifie uniquement la police d'écran et y ajoute un petit plus la fermeture de la MessageBox liée à un timer.
(Vous verrez qu'il faut revoir toutes les dimensions/alignement du label message, des boutons suivant la taille de la police, de la fenetre par la suite...)
Point négatif: Avec une îcone le message affiché est à moitié masqué et pas réussi à appliquer une couleur au texte du message.
Info: Pour la couleur il faut capturer le message WM_CTLCOLORSTATIC, une fois dedans, modifier la couleur de la police avec SetTextColor(handle du texte dans le label statique). (tester mais sans succès, pas chercher plus loin malheureusement).
Modifiez la police dans les boutons, icones perso, case à cocher, inverser la position du message et des boutons(message en bas, boutons en haut), etc...Si vous avez envie de completer cette MessageBox Etendue, ce n'est pas les idées qui manquent.
(Source commentée)