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 

¿ShowProgress en cualquier formulario?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: ¿ShowProgress en cualquier formulario? Responder citando

Rizando un poco el rizo Embarassed Podéis mandarme a la porra o más lejos, pero no se me ocurre como casar un código que puso Leo para no mostrar el cuadro del ShowProgress (ShowProgress en TStatusBar) y el que me pusieron el otro día de Referencia a un formulario. He estado probando diversas combinaciones pero todas me dan error de compilación.

¿Cómo podía referenciar la barra de progreso que defino con void CreaBarra(TForm* Form, TPanel* Panel, TLMDProgressFill* &Barra, int nOpcion) para que se usara con el ShowProgress?
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

No se que errores tienes pero ahora veo mas claro lo que pretendías en tus antereiores preguntas. Yo lo haría así:

Código:
class TForm1 : public TForm
{
__published:   // IDE-managed Components
        TPanel *Panel2;
private:   // User declarations

    TLMDProgressFill *ProgressBar1;
    void __fastcall CmQrProgressUpdate(TMessage& msg)
    {
        ProgressBar1->Position = msg.WParamLo;
        inherited::Dispatch(&msg);
    }
public:
    __fastcall TForm1(TComponent* Owner);

    BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(CM_QRPROGRESSUPDATE, TMessage, CmQrProgressUpdate)
    END_MESSAGE_MAP(inherited)      // User declarations
};

Y para crear la barra la función CreaBarra Que se llamará desde el constructor:
Código:

void __fastcall CreaBarra(TForm* Form, TPanel* Panel, TLMDProgressFill* &Barra, int nOpcion)
{
     Barra = new TLMDProgressFill(Form);
     Barra->Parent                   = Panel;
     Barra->Align                    = alClient;
     Barra->Bevel->Mode              = bmStandard;
     Barra->Bevel->StandardStyle     = lsNone;
     Barra->FillObject->Style        = sfBrush;
     Barra->FillObject->TileMode     = tmCenter;
     Barra->FillObject->Alignment    = agTopCenter;
     Barra->FillObject->Brush->Color = clHighlight;
     Barra->ParentFont               = true;
     Barra->MinValue                 = 0;
     Barra->OptionsText              = Opcion;
     Barra->UserValue                = 0;
     Barra->UseFontColor             = true;
     Panel->Visible                  = true;
     Form->Repaint();
}

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
    CreaBarra(this, Panel2, ProgressBar1, 0);
}
//---------------------------------------------------------------------------



O si o prefieres con una función que te devuelva un puntero, Así:
Código:

TLMDProgressFill* __fastcall CreaBarra(TForm* Form, TPanel* Panel, int nOpcion)
{
     TLMDProgressFill* Barra = new TLMDProgressFill(Form);
     Barra->Parent                   = Panel;
     Barra->Align                    = alClient;
     Barra->Bevel->Mode              = bmStandard;
     Barra->Bevel->StandardStyle     = lsNone;
     Barra->FillObject->Style        = sfBrush;
     Barra->FillObject->TileMode     = tmCenter;
     Barra->FillObject->Alignment    = agTopCenter;
     Barra->FillObject->Brush->Color = clHighlight;
     Barra->ParentFont               = true;
     Barra->MinValue                 = 0;
     Barra->OptionsText              = Opcion;
     Barra->UserValue                = 0;
     Barra->UseFontColor             = true;
     Panel->Visible                  = true;
     Form->Repaint();
     return Barra;
}


//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
   ProgressBar1 = CreaBarra(this, Panel2, 0);
}


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

Muchas gracias escafandra, funciona a la perfección. Lo cierto es que esta última pregunta mía ha venido al ver lo que estaba haciendo en otro programa; se me van ocurriendo las ideas a golpes y el tema de punteros no lo domino demasiado bien.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
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.