首页 > Windows开发 > 详细

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

时间:2015-11-14 19:10:29      阅读:391      评论:0      收藏:0      [点我收藏+]

刚开始代码如下:

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

 

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

原文:http://www.cnblogs.com/findumars/p/4964841.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!