Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Centrar los MessageBox y ShowMessage? (https://www.clubdelphi.com/foros/showthread.php?t=2301)

judoboy 17-07-2003 14:17:18

¿Centrar los MessageBox y ShowMessage?
 
Hola, es que no se que he tocado pero ahora los ShowMessage, y los MessageBox, no me salen centrados en la pantalla, me aparecen abajo

¿Porque puede ser esto?

Magneto 18-07-2003 07:40:55

Yo no estoy muy seguro, no suelo trabajar con esos componentes, es más, hace poco que aprendí (más o menos) a usarlos. Pero tengo entendido que si los creás, luego podés cambiar las propiedades que tengan. Los Forms, por ejemplo, tienen una propiedad que es Position, en la que se puede elegir una opcion ScreenCenter, que hace que aparezca en el centro de la pantalla (hay unas cuántas más opciones además de esa). No sé qué es lo que habrás tocado que ya no salen más centrados en la pantalla, pero si podés acceder a alguna propiedad parecida a la Position de los Forms, deberías poder centrarlo en la pantalla.
Espero que te sirva de ayuda.

madman 18-07-2003 08:49:42

Cita:

Texto escrito por magneto:
...no suelo trabajar con esos componentes...
Propiamente dicho los ShowMessage y MessageBox, son funciones y que nos ayudan a mostrar un mensaje simple o un cuadro de mensaje con varias opciones (Si,No,Guardar, etc.)

Sacado de la ayuda de Delphi.
Código:

ShowMessage(const Msg: WideString);

function MessageBox(const Text, Caption: PChar; Flags: Longint = MB_OK): Integer;
Value        Meaning

MB_ABORTRETRYIGNORE        The message box contains three push buttons: Abort, Retry, and Ignore.
MB_OK        The message box contains one push button: OK. This is the default.
MB_OKCANCEL        The message box contains two push buttons: OK and Cancel.
MB_RETRYCANCEL        The message box contains two push buttons: Retry and Cancel.
MB_YESNO        The message box contains two push buttons: Yes and No.
MB_YESNOCANCEL        The message box contains three push buttons: Yes, No, and Cancel.

MessageBox returns 0 if there isn’t enough memory to create the message box. Otherwise it returns one of the following values:

Value        Numeric value        Meaning

IDOK        1        The user chose the OK button.
IDCANCEL        2        The user chose the Cancel button.
IDABORT        3        The user chose the Abort button.
IDRETRY        4        The user chose the Retry button.
IDIGNORE        5        The user chose the Ignore button.
IDYES        6        The user chose the Yes button.
IDNO        7        The user chose the No button.

Ejemplo:
ShowMessage('Alerta el Windows se colapsará'); // Un ejemplo enfocado a la vida real :D

MessageBox('This should be on top.', 'Look', [mb_OK]);

Este otro te permite ponerlo en la posicion X,Y
Código:

procedure ShowMessagePos(const Msg: WideString; X, Y: Integer);
Cita:

Texto escrito por magneto:
...si los creás, luego podés cambiar las propiedades que tengan. Los Forms, por ejemplo, tienen una propiedad que es Position, en la que se puede elegir una opcion ScreenCenter, que hace que aparezca en el centro de la pantalla (hay unas cuántas más opciones además de esa)....
Una solución temporal, es hacerte de tus propios Cuadros de
Mensaje con unos Forms. Y centrarlos...

Esto hasta que alguien te de con la respuesta que solicitas.

judoboy 18-07-2003 13:26:05

Bueno pues gracias a los dos.
Mira lo de Mb_RetryCancel no lo sabía me viene de perlas.

Pues el asunto es que al final lo he resuelto copiando el backup de ayer. Me copio todos los días al servidor todo el código fuente de mi programa y así si tengo un problema que no se recurro a el y ya está.

delphi.com.ar 18-07-2003 17:03:47

Hola JudoBoy, no creo que el problema sea el código fuente que recuperaste (aunque todo es posible), he visto en mas de una ocasión que Windows erráticamente empieza a mostrar los mensajes en cascada, hasta que como la cascada queda fuera de la pantalla, pone todos los nuevos mensajes en el margen inferior izquierdo.
Repito: Todo es posible!

Saludos!


La franja horaria es GMT +2. Ahora son las 17:47:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi