2012-02-04 10 views
7

estoy usando el Application.MessageBox para mostrar los mensajes de mi solicitud de VCL, pero cuando la aplicación tenía un estilo VCL aplicado la ventana de mensajes se muestra con el estilo de Windows en lugar del estilo VCL actual.¿Cómo puedo peinar el cuadro de mensaje de mi aplicación cuando los estilos vcl están activados?

Código de ejemplo

Application.MessageBox('Hello World', 'Hello', MB_OK + MB_ICONINFORMATION); 

Imagen de muestra

enter image description here

¿Cómo puedo mostrar un cuadro de mensaje con el estilo VCL actual?

+1

Cualquier otra persona recuerde WinAmp? –

Respuesta

14

La función Application.MessageBox llama internamente a la función WinAPi MessageBox, esa ventana no es un formulario creado por delphi, por lo que no se puede desvizar con los estilos Vcl. En su lugar, debe usar una de las clases de diálogo y funciones declaradas en la unidad Vcl.Dialogs como la función MessageDlg.

MessageDlg('Hello World', mtInformation, [mbOK], 0); 

enter image description here

+0

¿Estas clases de diálogo admiten CTRL + C todavía? –

+0

@DavidHeffernan, sí. – RRUZ

+0

Acabo de intentarlo. No es compatible con CTRL + C muy bien porque cuando presiona las teclas, la computadora emite un pitido de advertencia. Creo que lo depuraré y lo controlaré. –

Cuestiones relacionadas