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/)
-   -   Delphi ListView gestrichelte "Fokus-Linie" entfernen (https://www.delphipraxis.net/101831-listview-gestrichelte-fokus-linie-entfernen.html)

0x802b 18. Okt 2007 21:24


ListView gestrichelte "Fokus-Linie" entfernen
 
Hey Leute :)

Ich wollte euch mal fragen wie man diese "hässlichen" Fokus-Linien bei einer ListView entfernen kann...

Wisst ihr welche ich meine? Wenn ich ein Item selektiere, dann wird dieses ersteinmal Blau unterlegt, jedoch wird noch zusätzlich eine gestrichelte Linie um meinen Eintrag gezeichnet.
Genau diese will ich nicht mehr haben^^

Was mich sehr wundert, in einer anderen Form der Apllikation benutze ich ebenfalls eine ListView, doch dort funktioniert es, dass ich lediglich die blaue Hinterlegung bekomme beim auswählen.

Ich habe die beiden Eigenschaften der ListViews verglichen und kann so keinen Unterschied erkennen.
Bei beiden benutze ich noch dazu den DoubleBuffer (um das flackern der Einträge zu verhindern)..

Kann mir jemand von euch helfen?

Greetings, 0x802b

Sharky 19. Okt 2007 06:46

Re: ListView gestrichelte "Fokus-Linie" entfernen
 
Zitat:

Zitat von 0x802b
.... dann wird dieses ersteinmal Blau unterlegt, ...

Hai 0x802b,

bei mir ist die Standardmässig grau. Kann es sein das Du für die ListView ein OnCustumDraw verwendest und in dem einen Fall den Fokus überzeichnest und in dem anderen nicht?

0x802b 19. Okt 2007 15:05

Re: ListView gestrichelte "Fokus-Linie" entfernen
 
Ne sorry hab vergessen zu erwähnen das ich Windows Vista benutze :>

Da sieht das alles bischen anders aus..Ich verwende kein OnCustumDraw..alles normale Einstellungen


So will ichs haben
http://666kb.com/i/assciuhpd2lgkic77.png

Aber so siehts immoment noch aus :(
http://666kb.com/i/asscje09rmw6wr0ar.png

Zacherl 19. Okt 2007 19:36

Re: ListView gestrichelte "Fokus-Linie" entfernen
 
Das ist normale FocusRect. Gibts vielleicht eine Eigenschaft dazu?

scrat1979 19. Okt 2007 19:47

Re: ListView gestrichelte "Fokus-Linie" entfernen
 
Hallo!!!

Habe mir gerade mal den VCL-Quellcode der TListBox angeschaut und folgende Prozedur gefunden:

Delphi-Quellcode:

   procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;

[...]

procedure TCustomListBox.CNDrawItem(var Message: TWMDrawItem);
[...]
   if odFocused in State then DrawFocusRect(hDC, rcItem);
[...]
End;
Eventuell kann man ja seine eigene Komponente davon ableiten und o.g. Anweisung in der Prozedur löschen oder die Procedure überschreiben (falls das bei Messages geht!?!)

Viel Glück :-)

SCRaT

//EDIT: Sehe gerade erst es geht um eine TListView, aber evtl. gibt es da eine analoge Prozedur. Daher lasse ich mein Post einfach mal so stehen :thumb:

0x802b 20. Okt 2007 00:24

Re: ListView gestrichelte "Fokus-Linie" entfernen
 
Gibt es nicht irgendwie eine simplere Lösung :( ? Hatte nicht vor irgendwelche Komponenten umzuschreiben^^


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