Delphi-PRAXiS
Seite 3 von 3     123   

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 Selected = False wenn Click außerhalb Komponente (https://www.delphipraxis.net/86507-selected-%3D-false-wenn-click-ausserhalb-komponente.html)

sirius 16. Feb 2007 18:25

Re: Selected = False wenn Click außerhalb Komponente
 
Ja, das MouseMove ist falsch (wie ich bereits schrieb). Bei einer Bewegung verschindet das Teil mit einem Sprung Richtung NordWest aus dem Bildschirm raus. Debug mal dein MouseMove, dann siehst du was passiert!

Ob ich es so machen würde? Weis nicht. Hab noch nie sowas programmiert. Ich denke, daraus ein eigenes Objekt zu machen ist recht sinnvoll (Grafikprogramme brauchen nunmal viel RAM). Die Frage ist, ob man, wie es mein Vorschlag war, gleich ein TWincontrol draus machen muss. Die andere Möglichkeit ist eben ein TGraphicControl zu nehmen (was du ja ursprünglich mit TShape hattest). Ein TGraphiccontrol bekommt halt leider nicht solche Nachrichten wie CM_Exit, dafür verbraucht es auch weniger Ressourcen als ein TWincontrol.

Was ich mir auch noch überlegt habe ist, ob dieses Verschieben und so nicht schon irgendwie in den TXXXControls mit implementiert ist.
Ich habe ja gehofft, dass sich nochmal jemand anderes hier zu Wort meldet, aber anscheinend haben das so viele noch nicht probiert.

Fazit: Ich würde das erstmal mit Twincontrol weiter verfolgen. Solange du unter 100 Objekten bleibst, dürfte das ok sein.

owolicious 16. Feb 2007 18:33

Re: Selected = False wenn Click außerhalb Komponente
 
hmmm also ob ich da unter 100 objekten bleibe is die frage... mit dem programm werden später wahrscheinlich ganze produktionsketten dargestellt. d.h. es kann denke ich leicht passieren dass man auf mehr als 100 objekte kommt...

hmm jetzt versuch ich dass nochmal mit dem twincontrol und dem tcustomcontrol... was war da nochmal besser?? bzw. vorteile nachteile?

danke

sirius 16. Feb 2007 18:44

Re: Selected = False wenn Click außerhalb Komponente
 
TCustomCtontrol ist die Erweiterung von TWinControl. die Erweiterung besteht im "Paint", was bei Tcustomcontrol möglich ist.

Schau dir mal die Hierarchien an:

TObject -> TPersistant -> TComponent -> TControl -> TWincontrol -> TCustomControl
oder für reine Grafik:
TObject -> TPersistant -> TComponent -> TControl -> TGraphicControl

Du musst dir etwa vorstellen das dann jedes deiner Objekte von der Hierarchie etwa einem Button ähneln:
TObject -> TPersistant -> TComponent -> TControl -> TWincontrol -> TButtonControl -> TButton


Über 100? Hmmm... Ich weis nicht, vielleicht ist auch der Link in Post #3 oder #4 interessant. Die Entscheidung kann ich dir nicht abnehmen. Hab ich zu wenig Erfahrung.

owolicious 16. Feb 2007 23:06

Re: Selected = False wenn Click außerhalb Komponente
 
hmm also inzwischen klappt das schon so wie ich will... fast zumindest :)

aber: wenn ich objekte vergrößer oder verkleiner flackert dass total ?!? weisst du da ne lösung?

merci

sirius 17. Feb 2007 09:18

Re: Selected = False wenn Click außerhalb Komponente
 
Da könnte das property doublebuffered (oder so ähnlich) helfen. Das kannst du mit dem selected zusammen setzen, damit nicht alle (unbenutzten) Objekte doublebuffered sind, weil das ja auch wieder Speicher benötigt.

owolicious 18. Feb 2007 13:09

Re: Selected = False wenn Click außerhalb Komponente
 
sehr gute idee :) hat funktioniert... :) danke!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 Uhr.
Seite 3 von 3     123   

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