Ein control (z.B. tbutton) wird auf der Komponentenleiste ausgewählt und dann auf ein parent wincontrol (z.B. groupbox) gelegt.
Wie kann man während (bzw.anschließend) des Ablegens aus dem Control heraus ermitteln,
wer der Parent (also in diesem Beispiel die groupbox) ist ?
Ich brauche diese Info, um bestimmte Eigenschaften des parent als default Vorgaben für das Control zu nutzen.
In button.create geht es nicht ohne weiteres, da ist der parent=nil.
Wer weiß wie es geht oder wo man evt. nachschauen kann ?
drop component at designtime : parent ermitteln
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: drop component at designtime : parent ermitteln
Im Event OnEndDrag() werden Sender und Target als TObject übergeben.
-
- Beiträge: 140
- Registriert: Fr 21. Nov 2008, 11:29
- OS, Lazarus, FPC: Winux (L 1.0.6.xy FPC 2.6.z)
- CPU-Target: 32/64Bit
Re: drop component at designtime : parent ermitteln
Ich habs versucht (natürlich die Original procedures überschrieben, mich interessiert ja die designtime) .Scotty hat geschrieben:Im Event OnEndDrag() werden Sender und Target als TObject übergeben.
Ich habs sowohl für den parent als auch für die abgelegte komponente probiert :
Code: Alles auswählen
Procedure DragDrop(Source: TObject; X,Y : Integer); override;
procedure DoEndDrag(Target: TObject; X,Y: Integer); override;
Gibt es noch weitere Ideen ?
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: drop component at designtime : parent ermitteln
Hast du die entsprechende Komponente auch als Package in die IDE gelinkt? Mit reinem Quelltext kann die nämlich nichts anfangen.arturx hat geschrieben:Die Idee war verlockend. Leider wird weder das eine noch das andere zur designtime aufgerufen....
Gibt es noch weitere Ideen ?
Sollen die Funktionen nur zur Designtime etwas tun (bzw. zur Laufzeit etwas anderes tun), solltest du noch auf
csDesigning in ComponentState
testen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 140
- Registriert: Fr 21. Nov 2008, 11:29
- OS, Lazarus, FPC: Winux (L 1.0.6.xy FPC 2.6.z)
- CPU-Target: 32/64Bit
Re: drop component at designtime : parent ermitteln
Hallo Socke : Die Komponente mit ihrem Package war gelinkt - und trotzdem....
Mittlerweile habe ich die Lösung gefunden :
Innerhalb dieser procedure kann ich prächtig alles checken und erledigen.
Wie so oft liegt die Lösung einfach zu nahe.
Velen Dank an alle, die Ideen beigesteuert haben !
Mittlerweile habe ich die Lösung gefunden :
Code: Alles auswählen
procedure SetParent(NewParent: TWinControl); override;
procedure tmycomponent.SetParent(NewParent: TWinControl);
begin
inherited SetParent(NewParent);
// If componentstate ...usw. usw. .....
end;
Wie so oft liegt die Lösung einfach zu nahe.
Velen Dank an alle, die Ideen beigesteuert haben !