Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Función MessageDlg

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Función MessageDlg Responder citando

Mi pregunta es la siguiente,

¿Hay alguna forma de cambiar los botones de la función MessageDlg para que los textos no esten en Ingles?

Volver arriba
Mensaje    Asunto: Función MessageDlg Responder citando

Hola Carmen:

Tendrias que modificar en los fuentes de la libreria del Builder las constantes que hacen referencia a los textos de esos botones y creo que no vale la pena complicarse tanto, ya que aunque lo hicieras, lo tendrias que volver a hacer con cada nueva versión de C++Builder que compres.
Pero podrias usar 'MessageBox' es parte del API de Windows y tiene la ventaja de que los textos de los botones salen en el mismo idioma de la versión de Windows que se este usando. El uso es bastante simple, pero de todas formas lo resumo aquí:

MessageBox(Handle, "Texto", "Titulo", FLAGS);
(ten en cuenta que los argumentos 'Texto' y 'Titulo' son de tipo char* y no AnsiString, por lo que tendrias que usar '.c_str()' en caso de poner ahí una variable AnsiString)

- Y los FLAGS son los siguientes:
(*) Los que estan marcados con asterisco son los que la función tomara por defecto en cada grupo si no ponemos nada.

Para elegir que botones se muestran:

code:

MB_ABORTRETRYIGNORE (Anular/Reintentar/Omitir)
* MB_OK (Aceptar)
MB_OKCANCEL (Aceptar/Cancelar)
MB_RETRYCANCEL (Reintentar/Cancelar)
MB_YESNO (Si/No)
MB_YESNOCANCEL (Si/No/Cancelar)

Para elegir el icono que se mostrará:

code:

MB_ICONEXCLAMATION (Icono con signo de exclamación)
MB_ICONINFORMATION (Un icono con una 'i')
MB_ICONQUESTION (Icono con signo de interrogación)
MB_ICONSTOP (Señal de stop)

Para decidir que boton se usara por defecto al pulsar Intro:

code:

* MB_DEFBUTTON1 (1º)
MB_DEFBUTTON2 (2º)
MB_DEFBUTTON3 (3º)

Se usan separandolos con '|' (OR)
Así por ejemplo si queremos mostrar un dialogo con los botones Si y No, con un icono con signo de interrogación y que marque por defecto la opción No, quedaria como:

code:

MessageBox(
Handle,
"¿ desea borrar este registro ?",
"Confirmación",
MB_YESNO | MB_ICONQUESTION | MB_DEFBUTTON2 );

- Y los valores que puede devolver según los botones que hayamos incluido, son los siguientes:

code:

IDABORT (Se pulso anular)
IDCANCEL (" cancelar)
IDIGNORE (" ignorar)
IDNO (" no)
IDOK (" aceptar)
IDRETRY (" reintentar)
IDYES (" si)

Disculpa si he explicado algo tan obvio, pero así de paso le puede servir a alguien que este empezando y como no se el nivel que tienes con el Builder, pos... Wink

Saludos.
_Leo

Volver arriba
Mensaje    Asunto: Responder citando

Genial _Leo como siempre!!

Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Hola Carmen: Tendrías que modificar en los fuentes de la librería del Builder las constantes que hacen referencia a los textos de esos botones y creo que no vale la pena complicarse tanto, ya que aunque lo hicieras, lo tendrías que volver a hacer con cada nueva version de C++Builder que compres. Pero podrías usar MessageBox es parte del API de Windows y tiene la ventaja de que los textos de los botones salen en el mismo idioma de la version de Windows que se este usando. El uso es bastante simple, pero de todas formas lo resumo aquí:

Código:
MessageBox(Handle, "Texto", "Titulo", FLAGS);

(ten en cuenta que los argumentos 'Texto' y 'Titulo' son de tipo char* y no AnsiString, por lo que tendrías que usar .c_str() en caso de poner ahi una variable AnsiString)- Y los FLAGS son los siguientes:(*) Los que estan marcados con asterisco son los que la funcion tomara por defecto en cada grupo si no ponemos nada.

Para elegir que botones se muestran:
Código:
MB_ABORTRETRYIGNORE (Anular/Reintentar/Omitir)*
MB_OK (Aceptar)
MB_OKCANCEL (Aceptar/Cancelar)
MB_RETRYCANCEL (Reintentar/Cancelar)
MB_YESNO (Si/No)
MB_YESNOCANCEL (Si/No/Cancelar)


Para elegir el icono que se muestra:
Código:
MB_ICONEXCLAMATION (Icono con signo de exclamación)
MB_ICONINFORMATION (Un icono con una 'i')
MB_ICONQUESTION (Icono con signo de interrogación)
MB_ICONSTOP (Señal de stop)


Para decidir que botón se usara por defecto al pulsar Intro:
Código:
MB_DEFBUTTON1 (1)
MB_DEFBUTTON2 (2)
MB_DEFBUTTON3 (3)

Se usan separandolos con (OR) por ejemplo si queremos mostrar un dialogo con los botones Si y No, con un icono con signo de interrogación y que marque por defecto la opción No, quedaría como:
Código:
 MessageBox("Desea borrar este registro?","Confirmación", MB_YESNO | MB_ICONQUESTION | MB_DEFBUTTON2 );


- Y los valores que puede devolver según los botones que hayamos incluido, son los siguientes:
Código:
 IDABORT (Se pulso anular)
IDCANCEL (" cancelar)
IDIGNORE (" ignorar)
IDNO (" no)
IDOK (" aceptar)
IDRETRY (" reintentar)
IDYES (" si)

Disculpa si he explicado algo tan obvio, pero así de paso le puede servir a alguien que este empezando y como no se el nivel que tienes con el Builder, pos... Wink
Saludos _Leo
_________________
[code:1]//----------------Att Gabriel----------------
void Gracias(){
if (Respuesta == true){
Showmessage("Muchisimas Gracias!")
else
Showmessage("Ojala te sirva... ^_^ ");
}[/code:1]
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.