Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern (https://www.delphipraxis.net/214244-delphi-11-2-schriftfarbe-bei-einem-tpanel-waehrend-der-laufzeit-aendern.html)

dummzeuch 12. Dez 2023 15:23

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Zitat:

Zitat von himitsu (Beitrag 1530731)
Wenn von Haus aus bereits leer, dann würde wohl niemand mehr auf die Idee kommen diesen Caption benutzen zu wollen. :stupid:

Doch, ich.
Kommt immer drauf an, wozu.
Anwendungsfall: Ein Programm gibt eine Datei als Tabelle aus. Solange noch keine Datei geladen ist, zeigt man das Panel mit dem Text "Datei hier draufziehen" an. Zieht der User dann die Datei auf das Panel, wird ein Child-Control des Panels mit der Ausgabe gefüllt und mit align=alClient angezeigt.
Das ist schlicht einfacher als nochmal ein zusätzliches Label draufzupacken, das dann hinterher noch mit dem Alignment kollidiert.

himitsu 12. Dez 2023 15:53

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Du kannst es ja immernoch so machen.
Und da du dann eh was Sinnvolles eintragen wirst, wird es dich nicht stören, wenn es vorher leer war. :angle:

Keine Sorge, man kann mehrere Komponenten auf alClient stellen.
Labels sind eh immer hinten (da sie sich auf den Canvas des Parents laden.
Und schon braucht man nur noch das Visible der Anzeigekomponente (ChildControl) umstellen.

dummzeuch 12. Dez 2023 16:12

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Zitat:

Zitat von himitsu (Beitrag 1530737)
Du kannst es ja immernoch so machen.
Und da du dann eh was Sinnvolles eintragen wirst, wird es dich nicht stören, wenn es vorher leer war. :angle:

Ich bezog mich auf die pauschale Aussage "Wenn von Haus aus bereits leer, dann würde wohl niemand mehr auf die Idee kommen diesen Caption benutzen zu wollen." und habe ein Beispiel gegeben, wann ich auf genau diese Idee komme.

himitsu 12. Dez 2023 16:18

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Hi Nobody :cheer:

Benmik 12. Dez 2023 21:11

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Ich verwende ein TPanel routinemäßig zum reinen Anzeigen von Text, weil man durch die Bevel-Eigenschaft den Rand so gut als Struktur hervorheben und die Aufmerksamkeit dahin lenken kann. Vor allem praktisch finde ich das, wenn man so eine ganze Reihe von Informationen in einer zusammenhängenden Struktur präsentieren kann. Wie ich an zahllosen anderen Programmen auch in anderen Sprachen sehe, bin ich damit alles andere als allein.
Seit einiger Zeit kann man zwar auch einem Label eine Randstruktur mitgeben. Ich meine auch, dass die Dreidimensionalität der Bevel früher deutlich ausgeprägt gewesen wäre, oder irre ich mich da? Auf jeden Fall bin ich zu faul, um mich umzugewöhnen, sehe auch nicht so recht einen Grund dafür. Und tatsächlich: Warum hat ein Panel denn dann eine Caption?!
Und dass der hiesige erlauchte Kreis sich penibel an alles hält, was Emba so vorsieht, das wäre mir aber sowas von neu.

jaenicke 12. Dez 2023 21:21

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Zitat:

Zitat von Benmik (Beitrag 1530754)
Ich verwende ein TPanel routinemäßig zum reinen Anzeigen von Text, weil man durch die Bevel-Eigenschaft den Rand so gut als Struktur hervorheben und die Aufmerksamkeit dahin lenken kann.

Was genau der Sinn eines TStaticText ist, nur eben ohne die Nachteile einer TPanel-Komponente...

Benmik 13. Dez 2023 00:15

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Zitat:

Zitat von jaenicke (Beitrag 1530755)
Was genau der Sinn eines TStaticText ist, nur eben ohne die Nachteile einer TPanel-Komponente...

... bei dem der Text aber nicht vertikal zentriert ist, und welche praktischen Nachteile eines TPanel sind mir in all den Jahren entgangen?

Uwe Raabe 13. Dez 2023 07:31

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Zitat:

Zitat von Benmik (Beitrag 1530756)
welche praktischen Nachteile

Ich denke, dass ist hier Key: Praktisch meint immer den persönlichen Umgang mit etwas, bedeutet also für jeden etwas anderes und ist somit in höchstem Maße subjektiv.

Es werden hier ja auch nur persönliche und oft eben auch subjektive Meinungen geäußert. Niemand muss das als Arbeitsanweisung umsetzen.

haentschman 13. Dez 2023 07:56

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
[meine Meinung]
Ich muß auch immer das "Caption" entfernen. Aber das stört mich nicht. :wink:

Viel Besser wäre es, wenn die IDE mal die Properties nach CTRL-C dort einordnen würde, wo sie hingehören und nicht die "Struktur" zerstören. (z.B. immer private oder strict private...was anderes kann er ja nicht wissen)
Delphi-Quellcode:
strict private
  FBlubb: Integer;
strict protected
  FBla: Boolean;
public

// neue Property
strict private
  FBlubb: Integer;
strict protected
  FBla: Boolean;
public
  property Test: Boolean read FTest write FTest

// nach CTRL-C
strict private
  FBlubb: Integer;
strict
private
  FTest: Boolean; protected
  FBla: Boolean;
public
  property Test: Boolean read FTest write FTest
...das nervt. :roll:

:zwinker:
[/meine Meinung]

jaenicke 13. Dez 2023 08:48

AW: Delphi 11.2: Schriftfarbe bei einem TPanel während der Laufzeit ändern
 
Es kann ja jeder die Komponente wählen, die er oder sie möchte. Dabei werden oft auch Komponenten verwenden, die nicht unbedingt für den Zweck gedacht waren. Das ist ja auch in Ordnung.

Das ändert aber nichts daran, dass bestimmte Komponenten für bestimmte Zwecke entworfen wurden, eben z.B. TStaticText zur Textanzeige, auch zur Beschriftung von Eingabefeldern, mit definierten Rändern und Fokussierung z.B. eines zu der Beschriftung gehörenden Eingabefelds.

Dass dabei oft die vertikale Zentrierung vergessen wurde (schon in der Windows API bei mehrzeiligem DrawText, für den sie zu faul waren DT_VCENTER zu implementieren), ist sicherlich richtig, wird aber auch oft gar nicht benötigt. Wenn man es benötigt, kann man natürlich TPanel verwenden, wenn man wiederum nicht einfach so mit Styles und Textfarben arbeiten können möchte und auch die Fokussierung nicht benötigt. Will man das, ist es einfacher, wenn man einfach ein TStaticText auf ein TPanel oder TGridPanel (mit 1 Zeile und 1 Spalte) legt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.
Seite 2 von 2     12   

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