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 

CAMBIAR CAPTION DE BOTON DE MESSAGEDLG

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: CAMBIAR CAPTION DE BOTON DE MESSAGEDLG Responder citando

Hola amigos: deseo saber como cambiar el caption que viene predeterminado en el messagedlg, es decir, puede venir cancel, ok , etc... y yo quiero sustituirlo por cancelar, aceptar, etc...
¿Es tan simple como cambiar el caption de dicho boton?
Volver arriba
Mensaje    Asunto: Responder citando

Hola jj_remedios:

Me temo que no se puede cambiar directamente. Una opción es usar MessageBox del API o bien el método del mismo nombre de la clase TApplication en vez de MessageDlg, la ventaja es que el texto de los botones saldrá automáticamente en el idioma de la versión de Windows. En este enlace tienes mas detalle sobre como usarlo:

    https://cppbuilder.es/viewtopic.php?t=93&highlight=messagebox

Si de todos modos prefieres usar algo mas parecido al MessageDlg pero con los botones en español puedes usar la siguiente función. La apariencia y el uso es idéntico:
Código:
int MessageDlgX(String Msg, TMsgDlgType DlgType,
        TMsgDlgButtons Buttons, int HelpCtx=0)
{
    TForm* dlg = CreateMessageDialog(Msg, DlgType, Buttons);

    const String sIngles[11] = { "Yes", "No", "OK", "Cancel",
            "Abort", "Retry", "Ignore", "All", "NoToAll",
            "YesToAll", "Help" };

    const String sEspanyol[11] = { "&Si", "&No", "Aceptar",
            "Cancelar", "&Abortar", "&Reintentar", "&Ignorar",
            "&Todo", "N&o a todo", "Si a &todo", "Ay&uda" };

    for (int i=0; i<11; i++)
    {
        TButton* btn = static_cast<TButton*>(
                dlg->FindComponent(sIngles[i]) );
        if (btn)
            btn->Caption = sEspanyol[i];
    }

    int iRet = dlg->ShowModal();
    delete dlg;
    return iRet;
}

Saludos:
_Leo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

para cambiar el caption del mssdlg está igual de fácil.
en la excelente función que puso nuestro compañero, sólo hay que cambiar el caption manualmente dependiendo de a qué se refiere:
ejem:
if (DlgType == mtWarning)
dlg->Caption = "Precaución";
else if (DlgType == mtError)
dlg->Caption = "Error";
else if (DlgType == mtInformation)
dlg->Caption = "Información";
else if (DlgType == mtConfirmation)
dlg->Caption = "Confirmación";
else if (DlgType == mtCustom)
dlg->Caption = "";

etc.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor Yahoo Messenger 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.