マウスの移動で色が変わる?!

マウスの移動でフォームの色を変化させて見ましょう。

var
  iLeft, iRight, iNone: Integer; // グローバル変数

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Inc(iNone);

  if ssLeft in Shift then  // 左クリックしたままなら
    Inc(iLeft);

  if ssRight in Shift then  // 右クリックしたままなら
    Inc(iRight);

  if iLeft = 255 then
    iLeft := 0;
  if iRight = 255 then
    iRight := 0;
  if iNone = 255 then
    iNone := 0;

  Color := RGB(iLeft, iRight, iNone);
  Caption := 'RGB ' + IntToStr(iLeft) + ' ' + IntToStr(iRight) +
    ' ' + IntToStr(iNone);
end;

左クリックしたまま、或いは右クリックしたままで、マウスを移動させてみてください。また、マウスクリックをしない場合でもマウスを移動させてみてください。

今回は、グローバル変数を使用しました。グローバル変数は、変数宣言時に初期化することも出来ます。また、今回のように初期化にない場合でも、自動的に 0 に初期化されます。


up next
Last update: 2002/3/3