PDA

Ver la Versión Completa : Predeterinar boton en Message DLG


amadis
23-05-2005, 20:16:22
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:


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 (http://clubdelphi.com/foros/guiaestilo.php) 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:


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
Gracias! voy a estudiar la Unt Dialogs!

Y perdon por mi ignorancia de las reglas!