Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Composite Control mit Ereignis für Programm (https://www.delphipraxis.net/132096-composite-control-mit-ereignis-fuer-programm.html)

BAMatze 6. Apr 2009 08:31


Composite Control mit Ereignis für Programm
 
Hallo an alle DPler,

Ich habe eine Frage zu den Composite Controls.

Ausgangssituation: Ich habe mir eine Art Schaltfläche (als Composite Control) geschaffen zur Steuerung von 3 verschiedenen Verschiebetischen. Diese Staltfläche hat eine Tischauswahl, Trackbar für grobe Tischpositionseinstellung, Edit+Button als genaue Positionseingabe und Pfeiltasten. Jetzt möchte ich eine OnChange-Funtkion (also wenn für einen der drei Tische eine Änderung (z.B. am Trackbar oder an Edit+Button)) vorgenommen wird, soll diese OnChange-Funktion aktiviert werden.
Für mich, da ich sowas noch nicht sehr oft gemacht hab und wenn dann nur einfache Ereignisse auf Komponenten implementiert habe, wäre es gut, wenn Ihr mir vieleicht sagen könntet, wie man das Ziel (muss nicht direkt Codebeispiel sein sondern generelles Vorgehen + "wo liegen versteckte Fallen" + ist sowas überhaupt in einer solchen komplexeren Art möglich) am besten erreichen könnte.
Wichtig dabei wäre eine Übergabe der wichtigsten Daten: 1.) selektierter Tisch
2.) Zielposition

Vielen Dank
BAMatze

uligerhardt 6. Apr 2009 08:54

Re: Composite Control mit Ereignis für Programm
 
Das ist eigentlich ganz einfach. Schau dir z.B. mal in Controls.pas TControl.OnContextPopup an: Dafür
  • wurde ein Typ definiert (TContextPopupEvent),
  • eine private Variable diese Typs in der betreffenden Klasse deklariert (FOnContextPopup),
  • und diese schließlich als property veröffentlicht (OnContextPopup).
Aufgerufen werden Events üblicherweise in einer DoXXX-Methode, im Beispiel TControl.DoContextPopup.

Das Beispiel kannst du im Normalfall direkt übernehmen, indem du überall die "Nameswurzel" ContextPopup austauscht und in der Definition von Eventtyp- und DoXXX-Methode die Parameterliste anpasst.

HTH,
Uli.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz