AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Untergeordnete Komponente aktualisieren

Ein Thema von Mattze · begonnen am 16. Mär 2008 · letzter Beitrag vom 16. Mär 2008
Antwort Antwort
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Untergeordnete Komponente aktualisieren

  Alt 16. Mär 2008, 14:53
Hallo,

ich habe mir eine Komponente (von TPanel) abgeleitet, auf der (schon zur Designzeit) Buttons für die Laufwerke erzeugt werden. Das isnd spezielle Buttons, die z. B. auch die Hintergrundfarbe zu setzen erlauben.
Beispielfrage:
Ich ändere in einer (neuen) Eigenschaft des abgeleiteten Panels die Farbe, die den Buttons als Hintergrund dienen soll.
Wie erreiche ich nun, das die Buttons diese neue Farbe schon zur Designtime akzeptieren (und anzeigen)? (Zur Runtime tun sie es!) Invalidate oder ähnliches für die Buttons (Unterkomponenten) der Komponente tut es nicht.
Muss man da eine Art ReCreate für die Komponente machen? Und wenn ja, wie?

Gruß
Mattze
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Untergeordnete Komponente aktualisieren

  Alt 16. Mär 2008, 14:59
Reagiere beim Neuzeichnen des Panels und erzwinge das Neuzeichnen der Buttons bzw. setzte die Farbeigenschaft
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Untergeordnete Komponente aktualisieren

  Alt 16. Mär 2008, 15:09
Normalerweise reagieren Komponenten (spez. Controls) zur Design- und Laufzeit genau gleich!!!
Manchmal ist dies unerwünscht - wenn man Visible auf False setzt, soll das Control zur Designzeit nicht wirklich verschwinden.
Also sind in den Controls Abfragen wie
if csDesigning in ComponentStatus then ... enthalten.
Du musst jetzt diese Abfragen im Sourcecode suchen und ggf. ausser Kraft setzen oder ihre Wirkung abschwächen indem die IF-Abfrage nach hinten im Sourcecode verschoben wird.
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#4

Re: Untergeordnete Komponente aktualisieren

  Alt 16. Mär 2008, 16:46
Hallo

und Danke für die schnelle Antwort.

Das ist es aber leider nicht. Damit arbeite ich schon eine ganze Weile, wenn es nötig ist. Ich kenne das also.
In dieser Komponente habe ich keine derartigen Dinge drin. Es sei denn, im ursprünglichen Panel, von dem ja meine Komponente abgeleitet ist.

Ich habe übrigens gerade gemerkt, dass das auch in der Runtime nur halbwegs funktioniert. Allerdings dürfte das einen anderen Hintergrund haben und da werde ich noch suchen...

Ein anderes Problem, das wahrscheinlich genau auf den Componentstate in TPanel zurückzuführen ist:
Ich kann die Caption im abgeleiteten create nicht überschreiben.
Aber, ich spiele weiter...

Gruß
Mattze
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:11 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