2012-04-12 6 views
2

Ich habe ein Delphi-Programm, das den folgenden Code enthält:Wie verbinden Sie 20 Formen zu einem einzigen "OnMouseDown"?

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

Sache ist, mag ich den exakt gleichen Code für alle 20 Formen. Wie kann ich das effektiv durchführen? Vielen Dank!

Antwort

5
  1. Verwendung Multi-Select (z SHIFT + Klick, oder klicken und ein Auswahlrechteck ziehen) alle 20 Formen zu wählen.
  2. Setzen Sie im Objektinspektor den Ereignishandler OnMouseDown auf den allgemeinen Ereignishandler. Dadurch wird allen 20 ausgewählten Formen derselbe Ereignishandler zugewiesen.
  3. Wenn Sie wissen möchten, welche Form in Ihrem allgemeinen Ereignishandler angeklickt wurde, verwenden Sie (Sender as TShape).
+0

Ich habe gerade versucht, dass ich alle 20 von ihnen ausgewählt und dann die OnMouseDown doppelgeklickt, aber der resultierende Code ist genau das gleiche .. – argoneus

+0

Das ist richtig. Aber jetzt ist der einzelne Event-Handler an alle 20 Buttons angehängt. –

+0

Ohhhh, ich verstehe! Vielen Dank, die Dinge erleichtern: D Gibt es übrigens eine Möglichkeit, diesen Prozess manuell mit Code auszuführen (einen gemeinsamen Event-Handler zu setzen)? – argoneus

Verwandte Themen