que alguien me ayude con los MessageDlg de c++ builder

JohnCooper
26 de Febrero del 2006
tengo un pequeño quebradero de cabeza con los MessageDlg de c++ builder 5; no puedes crear tus propios botones? es que no me gusta que muestre un boton que ponga "Yes" y el otro "No", y si uso el de "Ok" en lugar del de "Yes", el orden de los botones se cambia, y el "No" aparece primero
gracias por cualquier informacion

forever2k
26 de Febrero del 2006
Hola. Bueno, es más que probable que el que hizo esta pregunta nunca lea esta respuesta. (ya que pasaron 3 años je). Pero como también es muy probable que alguien llegue aca buscando esta respuesta, como yo, voy a responder como se hace, al menos como hice yo.
Antes que nada yo tengo el C++ Builder 6, pero seguro funciona con otros, otra cosa es que detesto los sistemas operativos y todos los productos de Microsoft :->

Para que salgan los cartelitos en castellano puedes usar directamente las API de windows
Borland trae documentacion sobre la misma

Un ejemplo es:

MessageBox(Form->WindowHandle, "hola","hola", MB_APPLMODAL | MB_OK | MB_ICONERROR);

Eso mostraria el tipico mensajito modal de windows con un boton Aceptar y un icono de Error

Form->WindowHandle es el identificador de ventana que usa windows, la api lo nesecita para asociarlo conla ventana.
MB_APPLMODAL hace justamente que sea modal el mensaje y no deje seguir usando la aplicacion hasta que se responda.
Fijate en la ayuda de borland para diferentes tipos de Mensajes y los valores de retorno.

Ahora me falta ver como hago un imputbox en castellano :-(

Saludos.

forever2k
26 de Febrero del 2006
Me olvide un par de cosas:

El idioma de los mensajes depende del idioma nativo del SO
Se puede especificar un idioma usando la funcion MessageBoxEx en vez de la otra

Otra cosa es que por ahi conviene mas usar Form->Handle en vez de Form->WindowHandle ya que el primero puede ser accedido desde cualquier parte de la aplicacion.

Saludos otra vez

Alejandro
26 de Febrero del 2006
Es un fastidio, pero me temo que no hay forma.
Me he fijado, y aplicaciones "profesionales" les
ocurre lo mismo, con botones en inglés cuando la
aplicación es en español, y cosas así. Desde mi
punto de vista, la única manera es crear un form
a mano con los botones que tu quieras, y mostrarlo
con Show cuando haga falta. Aunque es muy engorroso... Si alguien sabe cómo hacerlo con MessageDlg, que lo diga, que a mi también me interesa.