Delphi-PRAXiS

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/)
-   -   TMaskEdit in TListView-Spalte färben (https://www.delphipraxis.net/159946-tmaskedit-tlistview-spalte-faerben.html)

marcibaer 19. Apr 2011 20:25

TMaskEdit in TListView-Spalte färben
 
Hallo zusammen!

Ich habe folgendes Problem:
ich habe ein TMaskEdit in eine Zelle eines TListViews gesetzt - was sehr gut klappt.
Allerdings lässt sich der Text des MasEdits nicht einfärben, d.h.,

Delphi-Quellcode:
    if Test then
      Edit.Font.Color := clBlack
    else
      Edit.Font.Color := clRed;
was funktioniert, wenn man ein Edit direkt auf das Form setzt, funktioniert in einem ListView nicht!

Irgendwelche Ideen, woran das liegt?

Viele Grüße,

Marcibaer

marcibaer 3. Mai 2011 16:36

AW: TMaskEdit in TListView-Spalte färben
 
Hallo zusammen!

Hat denn keiner 'ne Idee, warum sich die Textfarbe eines Edits innerhalb eines ListViews nicht ändert?!

Bei einem Button, den ich direkt daneben gesetzt habe - also auch in einem Feld eines Listviews - klappt's nämlich ohne Probleme!

Typ des Listview's: vsReport
OwnerDraw: false

Bummi 3. Mai 2011 16:57

AW: TMaskEdit in TListView-Spalte färben
 
Wenn Du das Maskedit auf ein Panel legst und dem Panel statt dem Maskedit das Listview als parent zuweist funktioniert es.

marcibaer 4. Mai 2011 12:41

AW: TMaskEdit in TListView-Spalte färben
 
Und wieso ist das so!?

Klappt anscheinend noch nicht richtig - jetzt sehe ich das Panel an der richtigen Stelle, aber kein Edit drauf!

Ich hab's folgendermassen gemacht:
Delphi-Quellcode:
Panel := TPanel.Create(nil);
Panel.Parent := StreckenListe; // mein ListView
Edit := TMaskEdit.Create(nil);
Edit.Parent := Panel;
Damit hab ich doch 'nen MaskEdit in einem Panel in einem Listview, oder!?
Jetzt schalte ich sowohl Panel als auch Edit auf visible, aber es erscheint nur das Panel - das Edit hat aber die gleichen Koordinaten wie das Panel!

Was muss ich denn noch setzen!?

ChrisE 4. Mai 2011 13:15

AW: TMaskEdit in TListView-Spalte färben
 
Zitat:

Zitat von marcibaer (Beitrag 1098831)
das Edit hat aber die gleichen Koordinaten wie das Panel!

Das ist der Fehler. Alle Komponenten auf einem Panel haben die Koordinaten bezüglich des Panel. D.h. Edit mit Left 0 / Top 0 liegt dann an der richtigen Stelle.

Gruß, Chris

marcibaer 4. Mai 2011 14:35

AW: TMaskEdit in TListView-Spalte färben
 
Stimmt, dann geht's!!! :)

Kann mir denn trotzdem mal einer erklären, WARUM ich bei 'nem Edit den "Umweg" über 'nen Panel gehen muss, damit ich den Text färben kann, bei einem Button z.B. aber nicht!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:47 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