Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-06-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Puedes hacer algo como esto, en la propiedad Style del panel pones psOwnerDraw y en el evento OnDrawPanel del Statusbar colocas esto:

Código Delphi [-]
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  if Uppercase(Panel.Text) = 'EN LINEA' then
    Statusbar.Canvas.Brush.Color:= clGreen
  else
    Statusbar.Canvas.Brush.Color:= clRed;
  Statusbar.Canvas.FillRect(Rect);
  Statusbar.Canvas.TextRect(Rect,4,4,Panel.Text);
end;

De esta manera somos nosotros lo encargados de dibujar el panel, primero ajustamos el color de fondo y pintamos todo el area del panel, luego tenemos que escribir el texto (juega con los valores para que el texto quede bien centrado).

Código Delphi [-]
// Esto pone el panel de color verde
Statusbar1.Panels[0].Text:= 'En linea';
// Esto pone el panel de color rojo
Statusbar1.Panels[0].Text:= 'Cualquier otro texto';

Última edición por seoane fecha: 03-06-2006 a las 20:00:58.
Responder Con Cita
  #2  
Antiguo 03-06-2006
Avatar de JULIPO
JULIPO JULIPO is offline
Miembro
 
Registrado: ene 2006
Ubicación: Bogota Colombia
Posts: 187
Poder: 21
JULIPO Va por buen camino
Funciona muy Bien

Muchas Gracias por tu respuesta funciona muy bien, pero ahora pienso en algo mas si quiero que aparezca un icono o bmp, es posible?
Responder Con Cita
  #3  
Antiguo 04-06-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Pues siguiendo mi respuesta anterior, si lo que quieres es dibujar un bitmap una posible solucion seria poner esto en el evento OnDrawPanel

Código Delphi [-]
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
var
  Bitmap: TBitmap;
begin
  Statusbar.Canvas.FillRect(Rect);
  if FileExists(Panel.Text) then
  begin
    Bitmap:= TBitmap.Create;
    try
      Bitmap.LoadFromFile(Panel.Text);
      // Esta opcion vuelve transparente el color de fondo del bitmap
      Bitmap.Transparent:= TRUE;
      Statusbar.Canvas.Draw(0,0,Bitmap);
    finally
      Bitmap.Free;
    end;
  end;
end;

De esta manera dibujamos en el Panel el bitmap cuya ruta esta escrita en la propiedad text del propio panel, es decir, si tenemos un archivo en d:\1.bmp para cargarlo solo tendriamos que hacer:

Código Delphi [-]
  Statusbar1.Panels[0].Text:= 'd:\1.bmp';

Puede que tangas que modificar algo para adaptarlo a lo que tu pensabas pero espero que te hagas una idea.
Responder Con Cita
  #4  
Antiguo 04-06-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Otra posible solucion es utilizar un TImageList, colocar ahi los bmps o iconos que quieras usar y luego escribir en la proiedad text del panel su indice, es decir:

Código Delphi [-]
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  Statusbar.Canvas.FillRect(Rect);
  ImageList1.Draw(Statusbar.Canvas,Rect.Left,Rect.Top,StrToIntDef(Panel.Text,-1));
end;

Y para dibujar una imagen:
Código Delphi [-]
// Esto dibuja la primera imagen de TImageList
Statusbar1.Panels[0].Text:= '0';

// Esto la segunda y asi sucesivamente
Statusbar1.Panels[0].Text:= '1';

// Esto la borrar
Statusbar1.Panels[0].Text:= '-1';
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
StatusBar de dos lineas melon OOP 8 14-01-2006 14:15:31
Textos En StatusBar kman Varios 2 22-12-2005 00:06:56
XPManifest y Statusbar arj2000 Varios 1 29-07-2005 01:25:57
MainMenu con imágnenes y StatusBar fidel OOP 1 09-05-2005 15:26:46
statusbar y hints urush30 Varios 3 05-08-2004 12:43:55


La franja horaria es GMT +2. Ahora son las 18:17:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi