您的位置:首页 > 编程语言 > Delphi

Delphi中动态创建的Panel无法改变颜色的解决办法(要把Panel的ParentBackground设为False)

2015-11-14 18:44 816 查看
刚开始代码如下:

procedure TForm1.Button1Click(Sender: TObject);
var
Panel: TPanel;
begin
Panel := TPanel.Create(Form1);
Panel.Name := 'pnlPreVideo';
Panel.Parent := Form1;
Panel.OnClick := Panel1Click;
MoveWindow(Panel.Handle, 10, 10, 100, 100, True);
end;

procedure TForm1.Panel1Click(Sender: TObject);
begin
if  (Sender as TPanel).Name ='pnlPreVideo' then
(Sender as TPanel).Color := clGreen;
end;


单击时,颜色不变,问网友,原来是一个BUG,更正后代码如下:

procedure TForm1.Button1Click(Sender: TObject);
var
Panel: TPanel;
begin
Panel := TPanel.Create(Form1);
Panel.Name := 'pnlPreVideo';
Panel.ParentBackground := False;
Panel.Parent := Form1;
Panel.OnClick := Panel1Click;
MoveWindow(Panel.Handle, 10, 10, 100, 100, True);
end;

procedure TForm1.Panel1Click(Sender: TObject);
begin
if  (Sender as TPanel).Name ='pnlPreVideo' then
(Sender as TPanel).Color := clGreen;
end;

http://www.cnblogs.com/jxgxy/p/3248408.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: