Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
TTaskDialog de Builder XE3

Estoy empezando a meterme con esta versión de Builder y al tratar este elemanto no veo la manera de áctivar o desactivar por código los botones que vienen definidos por defecto (Ok, Cancel, etc.).

Si miro el código subyancente en el formulario veo que la propiedad CommonButtons muestra así los bonotes activados; por ejemplo:
Código:
object TaskDialog1: TTaskDialog
  Buttons = <>
  CommonButtons = [tcbOk, tcbYes, tcbCancel]
  RadioButtons = <>
  Left = 190
  Top = 685
end
De esta manera en el cuadro de diálogo se muestran esos tres botones. Pero ¿cómo puedo hacer eso mismo vía código? He probado con
Código:
TaskDialog1->CommonButtons = [tcbOk, tcbCancel];
y evidentemente me da error de compilación y en la ayuda de XE3 (si la de 5/6 era mala esta es peor) no viene ningún ejemplo.
Responder Con Cita
  #2  
Antiguo 25-03-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Aquí hay un ejemplo (en Delphi). Imagino que el de Builder debe ser equivalente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 25-03-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Grcias. Ese ejemplo lo he visto pero no he sabido adaptarlo a Builder. Básicamente es que en el ejemplo no vioene como tratar los CommonButtons.
Responder Con Cita
  #4  
Antiguo 25-03-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
A ver, y repito que la ayuda para XE3 es peor que la que tiene Buidler 5/6. En XE3 hay este código: Vcl.Dialogs.TTaskDialogCommonButtons, pero por más vueltas que le doy no veo como mostrar u ocultar los botones predefinidos.
Responder Con Cita
  #5  
Antiguo 25-03-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues a mi esto me está funcionando sin problemas...

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  TaskDialog1.CommonButtons := [tcbOk,tcbRetry];
  TaskDialog1.Execute;
end;

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 27-03-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Unhappy

Cita:
Empezado por Neftali Ver Mensaje
Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
  TaskDialog1.CommonButtons := [tcbOk,tcbRetry];
  TaskDialog1.Execute;
end;
EN delphi no dudo que funcione, pero esa sintaxis no me vale en Builder
Responder Con Cita
  #7  
Antiguo 27-03-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo se, lo se,... pero no debe ser muy difícil de adaptar.

¿Puedes poner el error exacto?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 27-03-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Lo se, lo se,... pero no debe ser muy difícil de adaptar.

¿Puedes poner el error exacto?
Vale. TEngo declara esta función, apra que me valga a lo largo de toda la aplicación:
Código:
int Mensaje(TCustomForm *Form, String Titulo, String Msg, int DlgType, TStringList *Botones)
{
    TTaskDialog *dMensaje = new TTaskDialog(Form);

    dMensaje->Caption       = Application->Title;
    dMensaje->CommonButtons = [];
    dMensaje->MainIcon      = DlgType;
    dMensaje->Title         = Titulo;
    dMensaje->Text          = Msg;

    for (int nBoton = 0; nBoton < Botones->Count; nBoton ++)
    {
        dMensaje->Buttons->Add();
        dMensaje->Buttons->Items[nBoton]->Caption     = Botones->Strings[nBoton];
        dMensaje->Buttons->Items[nBoton]->ModalResult = nBoton + 1;
    }

    if (dMensaje->Execute())
        return dMensaje->ModalResult;

    return -1;
}
En la línea en cuestión (dMensaje->CommonButtons) he probado como está ahí, con dMensaje->CommonButtons->tcbOk = false, con dMensaje->CommonButtons->tcbOk = NULL... Siempre me da error al compilar:
Cita:
Funciones.cpp(192): parsing: int Mensaje(TCustomForm *,UnicodeString,UnicodeString,int,TStringList *)
Lo curioso es que el error lo da en la línea SIGUIENTE a la que se declara la función (int Mensaje...). Si comento la línea del CommonButtons, va sin problema; le paso este código (todas las variables etán definidas):
Código:
slBotones->Clear();
slBotones->Text = "Buscar\r\nCancelar";
nOpcTsk = Mensaje(this,
                  String("Instalación"),
                  String("Indique la situación de la base de datos"),
                  tdiShield, slBotones);
y muestra esto:

y de ahí me sobran dos botones
Responder Con Cita
  #9  
Antiguo 27-03-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Una cosa que no he probado, pero porque no se me ocurre CÓMO hacerlo, es algo parecido a modificar las porpiedades de una fuente. Algo parecido a esto:
Código:
Check->Font->Style = TFontStyles() >> fsBold;
algo como:
Código:
dMensaje->CommonButtons.Clear();
No sé si se podrán definir los botones de una forma similar porque por más vueltas que le he dado a la yuda, que ya digo que es penosa, no lo veo.
Responder Con Cita
  #10  
Antiguo 27-03-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por Angel.Matilla Ver Mensaje
Código:
dMensaje->CommonButtons.Clear();
¡Pues efectivamente! ¡Esa es la solución! ¿Y por qué no lo ponen en la ayuda?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Builder XE3 Angel.Matilla C++ Builder 3 05-04-2013 22:00:51
Funciona en C++ Builder 6 y no en C++ Builder XE dmartinezn C++ Builder 1 07-05-2012 22:08:42
¿c++ builder dll con .def¡? JXJ C++ Builder 0 23-03-2011 19:44:09
c++ builder anoniboxx C++ Builder 3 29-04-2010 22:17:36
GPS con Builder c++ alt126 C++ Builder 5 19-12-2004 01:28:01


La franja horaria es GMT +2. Ahora son las 12:24:36.


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
Copyright 1996-2007 Club Delphi