 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mie 19 May, 2010 3:40 pm Asunto: ¿ShowProgress en cualquier formulario? |
|
|
Rizando un poco el rizo 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 |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mie 19 May, 2010 8:26 pm Asunto: |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 20 May, 2010 8:00 am Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|