2012-04-12 6 views
2

私は、次のコードを含むDelphiのプログラムを持っている:20種類のシェイプを1つの 'OnMouseDown'に接続するには?

procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton; 
    Shift: TShiftState; X, Y: Integer); 
begin 
    <code here> 
end; 

事は、私はすべての20本の形の正確な同じコードをしたい、です。これを効果的に行うにはどうしたらいいですか?ありがとう!

答えて

5
  1. 使用マルチセレクト(例えばSHIFT +をクリックするか、選択矩形をクリックし、ドラッグして)すべての20面の形状を選択します。
  2. オブジェクトインスペクタで、OnMouseDownイベントハンドラを共通イベントハンドラに設定します。これにより、選択した20の図形すべてに同じイベントハンドラが割り当てられます。
  3. 共通のイベントハンドラ内でクリックしたシェイプを知る必要がある場合は、(Sender as TShape)を使用します。
+0

私はそのうちの20個を選択してからOnMouseDownをダブルクリックしましたが、結果のコードはまったく同じです。 – argoneus

+0

そうです。しかし、今では単一のイベントハンドラがすべての20個のボタンに添付されています。 –

+0

ああ、私は見る!ところで、コードを使ってこのプロセスを手動で行う方法はありますか(共通のイベントハンドラを設定する)? – argoneus

関連する問題