C++Builder Tips


マウスボタンの判定


Shift.Containsってなんか忘れません?

//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
  ListBox1->Items->Clear();

  //Shiftキーが押されている
  if (Shift.Contains(ssShift)){
    ListBox1->Items->Add("ssShift");
  }
  //Ctrlキーが押されている
  if (Shift.Contains(ssCtrl)){
    ListBox1->Items->Add("ssCtrl");
  }
  //Altキーが押されている
  if (Shift.Contains(ssAlt)){
    ListBox1->Items->Add("ssAlt");
  }
  //マウスの左ボタンが押されている
  if (Shift.Contains(ssLeft)){
    ListBox1->Items->Add("ssLeft");
  }
  //マウスの右ボタンが押されている
  if (Shift.Contains(ssRight)){
    ListBox1->Items->Add("ssRight");
  }
  //マウスの中ボタンが押されている
  if (Shift.Contains(ssMiddle)){
    ListBox1->Items->Add("ssMiddle");
  }
  //マウスがダブルクリックされた
  if (Shift.Contains(ssDouble)){
    ListBox1->Items->Add("ssDouble");
  }

  //マウスの左ボタンが押されている
  if (Button==mbLeft){
    ListBox1->Items->Add("mbLeft");
  }
  //マウスの右ボタンが押されている
  if (Button==mbRight){
    ListBox1->Items->Add("mbRight");
  }
  //マウスの中ボタンが押されている
  if (Button==mbMiddle){
    ListBox1->Items->Add("mbMiddle");
  }

}
//---------------------------------------------------------------------------

DownLoad bcbtips059.lzh 3KB(BCB5)