1. 程式人生 > >delphi label 背景顏色設定!

delphi label 背景顏色設定!

需要寫一個動態霓虹燈程式,主要結構和程式如下:

建立VCL工程,控制元件中直接選取一個label 和 一個Timer控制元件。


由於不需要框架,所以直接設定Form屬性中BorderStyle :=  bsNone;取消邊框。

雙擊建立timer對應相應:Timer1Timer,這裡可以設定他的間隔呼叫時間。

在裡面直接設定Form和Label 。 font的AutoSize := True就可以自動調整大小。

在裡面做case操作:然後更改Label。color和Label。Font。Color,就可以隨機產生顏色;Case中的條件直接使用Random(10),在條件中根據0-10去對應更改顏色就OK;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  label1.Font.Size := Random(50);

  Form1.Left := Random(800);
  Form1.Top := Random(600);

  case (Random(8)) of
    0: Label1.Color := clYellow;
    1: Label1.Color := clGreen;
    2: Label1.Color := clRed;
    3: Label1.Color := clGray;
    4: Label1.Color := clWhite;
    else
      Label1.Color := clRed;
  end;

  case (Random(8)) of
    0: Label1.Font.Color := clYellow;
    1: Label1.Font.Color := clGreen;
    2: Label1.Font.Color := clRed;
    3: Label1.Font.Color := clGray;
    4: Label1.Font.Color := clWhite;

  end;
end;

程式碼如上;

但是結果不是很理想,Label的backgroud怎麼都不能改變顏色。後來發現一個屬性需要我們去更改TransparentColor需要更改為False。否則Label 的顏色會一直跟隨Form的顏色。

結果如下:一切都正常了!