Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-09-2018
Tecnofacil Tecnofacil is offline
Miembro
 
Registrado: jun 2015
Posts: 50
Poder: 9
Tecnofacil Va por buen camino
Aqui les dejo un video que explica mejor lo que sucede
Responder Con Cita
  #2  
Antiguo 28-09-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Hice nuevamente una prueba ya sobre Delphi Tokyo y no me sucede la persistencia del color luego del click (es decir que vuelve a su color original):
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure MouseEnter(Sender: TObject);
    procedure MouseLeave(Sender: TObject);
    procedure PanelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation   {$R *.dfm}

(* Todas las asignaciones realizadas en OnCreate,
   se pueden hacer en tiempo de diseño desde el Object Inspector *)
procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
  C : TComponent;
begin
  for i := 0 to ComponentCount-1 do
  begin
    C := Self.Components[i];
    if C is TPanel then
    begin
      Tpanel(C).ParentBackground := False;
      TPanel(C).ParentColor  := False;
      TPanel(C).OnMouseEnter := MouseEnter;
      TPanel(C).OnMouseLeave := MouseLeave;
      TPanel(C).OnClick      := PanelClick;
    end;
  end;
end;

// Asignado al evento OnMouseEnter de todos los TPanels
procedure TForm1.MouseEnter(Sender: TObject);
var
  pnl: TPanel;
begin
  pnl := TPanel(Sender);
  Caption := pnl.Name;
  if pnl.Name = 'Panel1' then
    pnl.Color := clLime
  else if pnl.Name = 'Panel2' then
    pnl.Color := clYellow
  else if pnl.Name = 'Panel3' then
    pnl.Color := clRed
  else if pnl.Name = 'Panel4' then
    pnl.Color := clPurple
  else if  pnl.Name = 'Panel5' then
    pnl.Color := clBlue
  else       
    pnl.Color := clAqua;
end;

// Asignado al evento OnMouseLeave de todos los TPanels
procedure TForm1.MouseLeave(Sender: TObject);
var
  pnl: TPanel;
begin
  pnl := TPanel(Sender);
  pnl.Color := clBtnFace;
  pnl.Caption := pnl.Name;
end;

procedure TForm1.PanelClick(Sender: TObject);
var
  pnl: TPanel;
begin
  pnl := TPanel(Sender);
  pnl.Caption := 'Se hizo click sobre ' + pnl.Name;
end;

end.

Resultado:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 01-10-2018
Tecnofacil Tecnofacil is offline
Miembro
 
Registrado: jun 2015
Posts: 50
Poder: 9
Tecnofacil Va por buen camino
Gracias a todos. El error de colorear paneles se resolvió borrando el panel en cuestión y creándolo de nuevo, ahora si funciona.
Responder Con Cita
Respuesta



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
Funcion o procedure para apagar sub carpetas Paulao Varios 4 20-07-2011 17:15:26
Funcion cambiar propiedades componente(variable) Dclase Varios 7 17-06-2011 13:37:48
Como crear varios panels Lupita Varios 2 17-07-2008 09:27:02
Funcion generica para crear varios forms Carlos Arevalo Varios 9 06-05-2008 18:04:08
Como hacer para que una funcion regrese varios valores jangel_ramirezm Varios 11 07-03-2008 22:14:49


La franja horaria es GMT +2. Ahora son las 08:23:05.


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