Delphi-PRAXiS
Seite 2 von 3     12 3      

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/)
-   -   ListBox Items Brush zweifarbig? (https://www.delphipraxis.net/192611-listbox-items-brush-zweifarbig.html)

a.def 4. Mai 2017 17:00

AW: ListBox Items Brush zweifarbig?
 
Danke vielmals.
SplitRect, darauf muss man erstmal kommen.

Verstehe ich den Ablauf richtig?

1) Brush wird gesetzt (Farbe1)
2) Text wird ausgegeben
3) Brush wird erneut gesetzt (Farbe2)
4) Rect wird aufgeteilt?

Wie kann das Rect denn dann noch Farbe1 behalten, wenn ich sie doch bei 4) neu setze? Oder wird die festgesetzt, sobald ich FillRect ausführe?

Uwe Raabe 4. Mai 2017 17:12

AW: ListBox Items Brush zweifarbig?
 
Zitat:

Zitat von a.def (Beitrag 1370220)
Wie kann das Rect denn dann noch Farbe1 behalten, wenn ich sie doch bei 4) neu setze? Oder wird die festgesetzt, sobald ich FillRect ausführe?

Das FillRect mit Farbe1 geht über das gesamte Rect, während das für Farbe2 nur die rechten 5 Pixel übermalt.

SplitRect gibt ein neues Rechteck zurück - in diesem Fall eins, daß nur die rechten 5 Pixel Breite des Originals enthält.

a.def 4. Mai 2017 17:17

AW: ListBox Items Brush zweifarbig?
 
Ok gut zu wissen. Ich wäre jetzt sonst mit einem Shape rangegangen :D
ich stelle mir nur noch eine Frage: permanent den Fokus eines Items (dotted Umrandung) bekommt man keines Falls weg oder?

Ich meine den vorher/irgendwann mal wegbekommen zu haben aber ich weiß nicht mehr wie :(

Olli73 4. Mai 2017 19:06

AW: ListBox Items Brush zweifarbig?
 
Zitat:

Zitat von a.def (Beitrag 1370222)
ich stelle mir nur noch eine Frage: permanent den Fokus eines Items (dotted Umrandung) bekommt man keines Falls weg oder?

Ich meine den vorher/irgendwann mal wegbekommen zu haben aber ich weiß nicht mehr wie :(

Meinst du
Delphi-Quellcode:
aLBCanvas.DrawFocusRect(Rect);
in deinem Quellcode?

a.def 4. Mai 2017 19:18

AW: ListBox Items Brush zweifarbig?
 
Also was ich jetzt genau meine auf deine Frage bezogen weiß ich nicht.
Aber der Fokusrahmen wird ab und zu doch eingeblendet, obwohl er doch ausgeblendet bleiben sollte (das war schon vorher so). Nur wie bekomme ich den Fokusrahmen komplett weg?

Olli73 4. Mai 2017 19:30

AW: ListBox Items Brush zweifarbig?
 
Er erscheint nur ab und zu?

a.def 4. Mai 2017 20:21

AW: ListBox Items Brush zweifarbig?
 
Genau. Warum auch immer das passiert, ich weiß es nicht.

Uwe Raabe 4. Mai 2017 21:16

AW: ListBox Items Brush zweifarbig?
 
Kommentiere doch einfach die Zeile mit DrawFocusRect aus. Das wird intern mit XOR gezeichnet und kann zusammen mit dem Rest des Draw-Codes zu merkwürdigen Effekten führen.

a.def 4. Mai 2017 21:50

AW: ListBox Items Brush zweifarbig?
 
Ich habe gar keine Zeile mit DrawFocusRect :P
Ich hab nur den Code von Seite + die Änderung.

Uwe Raabe 4. Mai 2017 22:51

AW: ListBox Items Brush zweifarbig?
 
Zitat:

Zitat von a.def (Beitrag 1370247)
Ich habe gar keine Zeile mit DrawFocusRect :P
Ich hab nur den Code von Seite + die Änderung.

Und was steht in diesem Code?

Zitat:

Zitat von a.def (Beitrag 1370218)
Delphi-Quellcode:
 if odFocused in State then
  begin
   aLBCanvas.Brush.Color := TListBox(Control).Color;
   aLBCanvas.DrawFocusRect(Rect);
  end;



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz