Upps, das ist jetzt alles ein wenig zu viel:
1. Blenden wir zunächst das Thema Menüleiste noch einmal aus. Das könnte man tatsächlich auch selbst zeichnen, es ist aber ja nur ein schmaler Streifen und kann akzeptiert werden.
2. Bleiben wir beim Stringgrid:
Zitat: |
Das scheint ja aber nicht auszureichen. Ist der Wechsel auf eine andere Komponente eine Option? Z.B. der VirtualStringTree? |
Dieses Objekt ist in VCL-Delphi 10.4 bei mir nicht zu finden - auch nicht in der Hilfe. Weiß also nicht, was es genau macht und ob es meine Aufgabe ersetzen kann. Meine Anwendung ist ein Tool zum Sortieren und Umbenennen von Dateien sowie zur Anzeige von Bildern als Diashow (screenfüllend, optional ohne Formrand und ohne Taskleiste). Im Stringgrid werden die Dateien angezeigt: lfd.Nr, Marke, DateiName-Alt, Suffix, Dateiname-Neu, Datum, Länge, Pfad. Zum Sortieren kann ich die Bilder entweder in der Stringlist verschieben oder in der Listview - die jeweils synchron gehalten werden. So weit so gut. Es geht also "nur" ums Einfärben. Würde ungern das gesamte Programm auf den Kopf stelllen, nur um Stringgrid gegen ein mir unbekanntes Objekt zu tauschen.
3.
Zitat: |
da würde ich spontan auch im OnDrawCell ansetzen. |
Das OnDrawCel-Ereignis erscheint mir ungeeignet. Spricht nur bei Klick auf eine Zelle an und liefert auch nur ACol und ARow (also die Zelle). Ich will das gesamte Objekt umfärben. Und da es standardmäßig ja eine Variable Color gibt, fehlt vielleicht nur noch irgendwo ein Häkchen.
4.
Zitat: |
dann könntest du das ggf. mit VCL-Styles lösen |
das klingt noch interessant.
Unter Projekt/Optionen/Erscheinungsbild finden sich zahlreiche Stiles. Probiere schon ne knappe Stunde. Ist nicht ganz einfach, weil alle Stile mit Namen besetzt sind. Man muss jedesmal neu compilieren, das Programm starten, um das Ergebniss zu sehen. Und es wirkt sich auf die Form, das Menü und auf die Objekte unterschiedlich aus. Vielleicht werde ich hier fündig, weil sich damit auch die Menüleiste umfärbt. Erste Erkenntniss allerdings: meine Stringgrid-Farbe wird entweder black oder clWindows eine "Zwischenfarbe" stellt sich nicht ein.
Na ja, vielleicht kommt ja noch etwas. Erstmals Danke.