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/)
-   -   Firemonkey und OnPaint (https://www.delphipraxis.net/177574-firemonkey-und-onpaint.html)

weeweewee 14. Nov 2013 10:05

Firemonkey und OnPaint
 
Hallo,

bin gerade von Ursprünglich D2009 auf XE5-Exkurs.
Scheitere aber schon an vielen Basics:

Wie kann ich simpel in die Zeichenroutine eingreifen, ohne einen eigenen Style zu erstellen?
Bsp:

1. ich möchte in einer TListView-Komponente unterschiedliche Farben (Hintergrund, Font der Zelle)
verwenden - je nach Inhalt der Daten (DB-Daten bzw. erst einmal PrototypeBS)

2. Auch möchte ich den Text selbst bestimmen, ggfs. etwas zufügen.

Da gab es sonst immer On.... - Events der komponenten.

LG
Christian

Union 14. Nov 2013 10:22

AW: Firemonkey und OnPaint
 
  1. Ohne Style ist das nicht so toll
  2. Um eigene Texte hinzuzufügen müsstest Du eigene Klassen von TPresetItemObjects ableiten. Die properties dieser Klassen definieren was Du im Item darstellen kannst (Appearances). Diese kannst Du dann TListView.ItemAppearance.ItemAppearance und ItemEditAppearance zuweisen, wodurch Du die properties in ItemAppearanceObjects im Zugriff hast, die sind dann auch automatisch LB-Fähig. Das ganze kannst Du auch entsprechend registreren und Dir dafür eine Komponente erstellen wenn Du Visual Livebindings zur Designzeit nutzen willst.

weeweewee 14. Nov 2013 10:44

AW: Firemonkey und OnPaint
 
Oha, d.h., ich komme für 1. nicht um einen eigenen Style herum?
Habe bisher noch nicht geschaut, wie umfangreich es ist, eigene Styles zu entwerfen.

stahli 14. Nov 2013 11:24

AW: Firemonkey und OnPaint
 
Abgesehen davon, dass das ziemlich kompliziert und fehleranfällig ist (mindestens noch bei XE3 war) ist das Hauptproblem, dass Du Dich danach nicht einfach für einen anderen Style entscheiden kannst (Stylebook wechseln oder so), weil dann ja Dein "Control-Style" dort nicht existiert.

Deine Controls werden dann u.U. als weiße Fläche oder gar nicht gezeichnet.

PS: Wenn ich mit meiner Anmerkung falsch liege wäre mir das recht, aber ich befürchte, dass ich recht habe.


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