Delphi 中 動態創建的Panel無法改變顏色的解決辦法


剛開始代碼如下:

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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM