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
public
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.