Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 27-09-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

Una opción sería controlar el nombre del panel en el evento asignado a los paneles cuando el cursor ingresa al control y cuando lo abandona.

En este momento sólo tengo a mano Delphi 7 por lo que debo interponer la clase y resulta algo similar a:
Código Delphi [-]
...
type
  TPanel = class(ExtCtrls.TPanel)
  private
    FMouseEnter: TNotifyEvent;
    FMouseLeave: TNotifyEvent;
    procedure CMMouseEnter(var M: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var M: TMessage); message CM_MOUSELEAVE;
  public
    property OnMouseEnter: TNotifyEvent read FMouseEnter write FMouseEnter;
    property OnMouseLeave: TNotifyEvent read FMouseLeave write FMouseLeave;
  end;

  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

...
implementation

procedure TPanel.CMMouseEnter(var M: TMessage);
begin
  if Self.Name = 'Panel1' then
    Color := clLime
  else if Self.Name = 'Panel2' then
    Color := clYellow
  else if Self.Name = 'Panel3' then
    Color := clRed
  else if Self.Name = 'Panel4' then
    Color := clPurple
  else if Self.Name = 'Panel5' then
    Color := clBlue
  else
    Color := clAqua;
end;

procedure TPanel.CMMouseLeave(var M: TMessage);
begin
  Color := clBtnFace;
end;

Resultando:


Pero, dado que estas usando la última versión de Delphi, ya dispones de los eventos OnMouseEnter y OnMouseLeave. En ellos podes acceder al control actual vía el parámetro Sender de tipo TObject:
Código Delphi [-]
...
var
  pnl: TPanel;
begin
  pnl := TPanel(Sender);
  
  if pnl.Name = 'Panel1' then
    ....

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



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 00:16:16.


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