Aprovechando el tema. Tal vez quieras echarle un vistazo a algunas funciones de GH Freebrary que van por esta línea.
Por ejemplo:
Código Delphi
[-] If ghShowMsg ('Confirmar', '¿Desea guardar el archivo?', mb_YesNo) = IDYes Then
presentará una ventana con el icono MB_ICONQUESTION, mientras que
Código Delphi
[-] If ghShowMsg ('Confirmar', '¡No ha salvado los cambios! ¿Guardar?', mb_YesNo) = IDYes Then
presentará una ventana con el icono MB_ICONEXCLAMATION.
ghShowMsg verifica si el mensaje de texto mismo contiene el signo de exclamación o el signo de interrogación para determinar el icono a usar.
La sugerencia es por si te sirve este material para enriquecer las ideas de lo que estás haciendo.
Un cordial saludo.
Al.