Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Auf privaten Teil einer Klasse zugreifen, bzw. flackern aus (https://www.delphipraxis.net/78061-auf-privaten-teil-einer-klasse-zugreifen-bzw-flackern-aus.html)

Alfonso 28. Sep 2006 13:24


Auf privaten Teil einer Klasse zugreifen, bzw. flackern aus
 
Hallo,

ich habe ein Jedi TJvSpinEdit eingefügt. Leider flackert es beim Vergrößern des Formulars. Wenn ich JvSpinEdit.DoubledBuffered:=true setze, flackert das Edit Feld nicht mehr, aber die Spinbuttons flackern noch. Die Buttons sind innerhalb der Klasse TJvSpinEdit im Private Teil als FButton: TJvSpinButton deklariert.

Nun möchte auf das FButton zugreifen, um auch dort das Doublebuffer einzuschalten. Gibt es eine Trick dafür?

Gruß
Alfonso

TAC 28. Sep 2006 13:32

Re: Auf privaten Teil einer Klasse zugreifen, bzw. flackern
 
Moin,

doublebuffered müsste in TWincontrol deklariert sein. Und wenn FButton explizit vom Edit kreiert wurde (Aowner und parent) , solltest Du eigentlich über die component Liste des edits Kontrolle drüber bekommen. Dann nach Twincontrol casten und Parameter setzen.

Grüße
tac

Alfonso 28. Sep 2006 13:38

Re: Auf privaten Teil einer Klasse zugreifen, bzw. flackern
 
Ich verstehe leider nur bahnhof. Kannst du mir bitte ein Beispiel geben?

Gruß
Alfonso

TAC 28. Sep 2006 13:48

Re: Auf privaten Teil einer Klasse zugreifen, bzw. flackern
 
Nun,

mit spindedit.ComponentCount gibt die Anzahl der Componenten an, die innheralb des Spinedits kreiert sind.
wenn
Delphi-Quellcode:
ComponentCount > 1
dann ggf. eine Schleife durchlaufen
Delphi-Quellcode:
for i := 0 to spinedit.componentcount -1 
    if components[i].inheritsfrom(TJvSpinButton) then
       (components[i] as TJvSpinButton).visble := false; // oder doublebuffered
wenn TJvSpinButton nicht über Interface nach außen sichtbar gemacht wurde dann halt schauen von welchen Klassen TJvSpinButton abgeleitet wurde. Eine der basisklassen sollte dann zumindest die Eigenschaft doublebuffered implementiert haben.

grüße
tac

[edit=SirThornberry]Delphi-Tags gesetzt. Nächstes mal bitte selbst machen. Mfg, SirThornberry[/edit]

Alfonso 28. Sep 2006 14:26

Re: Auf privaten Teil einer Klasse zugreifen, bzw. flackern
 
Danke, habe es jetzt verstanden und es tut.

Alfonso


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:19 Uhr.

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