Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Predeterinar boton en Message DLG (https://www.clubdelphi.com/foros/showthread.php?t=21626)

amadis 23-05-2005 20:16:22

Predeterinar boton en Message DLG
 
Amigos necesito sabes de que forma predeterminar el boton que este marcado listo para aceptar en un MessageDlg

Coloco los botones en distinto orden pero aparecen siempre igual y no me deja elegir el orden ni cual este predeterminado!

¿se puede?

Saludos y gracias

Si lo responden a mi mail amadisfo@yahoo.com.ar mejor

dec 23-05-2005 21:01:49

Hola,

Creo que no se puede hacer lo que precisas: todo está en el código de la función "CreateMessageDialog", que es la utilizada a la hora de mostrar un "MessageDlg".

En una parte del código de la función susomentada puede leerse lo siguiente:

Código Delphi [-]
 if mbOk in Buttons then DefaultButton := mbOk 
 else if mbYes in Buttons then DefaultButton := mbYes 
 else DefaultButton := mbRetry;
 
 if mbCancel in Buttons then CancelButton := mbCancel 
 else if mbNo in Buttons then CancelButton := mbNo 
 else CancelButton := mbOk;
Quiere decirse que el botón predeterminado en el "MessageDlg" no se determina por su orden, pero por su "tipo", y así, al menos utilizando la función "MessageDlg" no podrá determinarse el botón "predeterminado", salvo haciéndolo en función de lo que puede verse en el código anterior.

Bueno. El código anterior, como he dicho, está en la función "CreateMessageDialog" que puede encontrarse en la unidad "Dialogs". Tal vez haciendo algún cambio en dicha función puedas lograr lo que persigues.

Respecto de lo de responderte a tu correo, por favor, lee la guía de estilo de estos Foros: no tendría mucho sentido que aquí se respondiera de forma particular a cada uno de los participantes, puesto que de ese modo no podrían servir ni las preguntas ni las respuestas al resto de participantes, que es de lo que se trata.

roman 23-05-2005 22:01:46

Lo mejor es usar directamente la función de Windows:

Código Delphi [-]
Windows.MessageBox(
  '¿Aceptas los cambios?',
  'Confirmar', 
  MB_ICONWARNING or MB_YESNO or MB_DEFBUTTON2);

Aquí MB_DEFBUTTON2 hará que el botón predeterminado sea "No" en lugar de 'Sí'.

// Saludos

amadis 25-05-2005 03:50:23

respuesta
 
Gracias! voy a estudiar la Unt Dialogs!

Y perdon por mi ignorancia de las reglas!


La franja horaria es GMT +2. Ahora son las 14:22:42.

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