DelphiタイマーのTimer1【フェードアウト、フェードイン効果】

RAD Studio10.4テスト√


1.タイマーの主な属性

属性 属性の説明
有効 値がTrueの場合、タイマーがオンになります。それ以外の場合、タイマーはオフになります。デフォルト値はtrueです。
間隔 OnTimerイベントトリガーの時間間隔をミリ秒単位で制御します。間隔を0に設定することは、タイマーをオフにすることと同じです。デフォルト値は1000ms(1秒)です。

2.タイマーのメインイベント
タイマーには、OnTimerイベントが1つだけあります。タイマーがオンになると、Intervalプロパティで指定された間隔が経過するたびに、TimerはOnTimerイベントをトリガーしてプログラムを実行します。


コントロール:タイマー、scGPGlyphButton
コードは、大まかに言って、タイマーの間隔を介して処理を行い、scGPGlyphButtonがフォーカスを取得したときの色の不透明度を設定し、マウスを上げてフォーカスを失い、フェードアウトとフェードインの効果を実現します。

//全局变量int1,state1
var
  int1: Integer = 0;
  state1: String = '停止';
  
***************************************************************

procedure TMainF.scGPGlyphButton1MouseEnter(Sender: TObject); // 鼠标进入事件
begin
  int1 := 0;
  state1 := '开始';
end;

procedure TMainF.scGPGlyphButton1MouseLeave(Sender: TObject); // 鼠标离开事件
begin
  state1 := '停止';
end;

procedure TMainF.Timer1Timer(Sender: TObject);
var
  i: Integer;
begin
  i := int1;
  if state1 = '开始' then
  begin
    if ((0 <= i) and (i < 255)) then
    begin
      MainF.scGPGlyphButton1.Options.HotColorAlpha := i;
      i := i + 1;
      Memo1.Lines.Add(IntToStr(i));
      int1 := i;
    end;
  end
  else if state1 = '停止' then
  begin
    if ((0 < i) and (i <= 255)) then
    begin
      i := i - 1;
      MainF.scGPGlyphButton1.Options.NormalColorAlpha := i;
      MainF.scGPGlyphButton1.Options.FocusedColorAlpha := i;
      Memo1.Lines.Add(IntToStr(i) + '减去');
      int1 := i;
    end;
  end;
end;

後で読むことができるように、学習中に記録されたメモ。

おすすめ

転載: blog.csdn.net/qq_44111597/article/details/108417478