Ver Mensaje Individual
  #1  
Antiguo 30-07-2015
osmeg osmeg is offline
Miembro
NULL
 
Registrado: may 2014
Posts: 18
Reputación: 0
osmeg Va por buen camino
No se puede cambiar color a TPanel creado en tiempo de ejecución

Buenos días amigos de ClubDelphi,

Les escribo porque quiero plantearles un problema que tengo y no he podido resolver: Estoy creando un TPanel en tiempo de ejecución y quiero que al momento de que pase el mouse sobre él, el TPanel cambie de color. Para capturar el evento mencionado he utilizado la propiedad OnMouseEnter y lo hace correctamente, pero al momento intentar cambiar el color del panel, no ocurre nada.

A continuación detallo el código que estoy utilizando:

Código Delphi [-]
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure panelMouseEnter(Sender:TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  panelprueba: TPanel;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  panelprueba:= TPanel.Create(Self);
  panelprueba.Parent:= Self;
  panelprueba.Width:= 100;
  panelprueba.Height:= 100;
  panelprueba.Top:=0;
  panelprueba.Left:=0;
  panelprueba.OnMouseEnter:= panelMouseEnter;
end;

procedure TForm1.panelMouseEnter(Sender:TObject);
begin
  if Sender is TPanel then
    begin
    ShowMessage('Evento capturado');
      TPanel(Sender).Color:= clBlue;
    end;
end;

end.

Agradezco la colaboración que me puedan brindar para solucionar este problema.
Responder Con Cita