FocusRect
-
Wie kann ich meine Listbox dazu bewegen, kein FocusRect zu zeichnen?
obwohl Listox->Style = lbOwnerDrawFixed;
wird FocusRect automatisch gezeichnet
-
Du hast schon gelesen was bei TListBox::Style unter lbOwnerDrawFixed steht oder?
-junix
-
Das ist Windows-Standard.
-
Original erstellt von WebFritzi:
Das ist Windows-Standard.Kann man trotzdem verbiegen. Sofern man das Zeichnen der Items etwas beeinflusst...
Aber das geschieht bestimmt nicht durch "Listox->Style = lbOwnerDrawFixed;"... woher soll die Listbox auch wissen, dass sie wegen obiger Zeile nun auf das Zeichnen des FocusRect verzichten soll?-junix
-
Original erstellt von junix:
Kann man trotzdem verbiegen. Sofern man das Zeichnen der Items etwas beeinflusst...Klar. Man könnte sich einfach das markierte RECT besorgen, und dann halt wieder ein FocusRect draufzeichnen. Da DrawFocusRect() mit XOR malt, ist dann das FocusRect weg.
Beispielsweise so (oder so ähnlich):
RECT rc = ListBox1->ItemRect(ListBox1->ItemIndex); HDC hdc = GetDC(ListBox1->Handle); DrawFocusRect(hdc, &rc); ReleaseDC(ListBox1->Handle, hdc);
[ Dieser Beitrag wurde am 14.03.2003 um 12:46 Uhr von WebFritzi editiert. ]
-
Wozu`? Gibt da noch eine andere Variante im Kopf auf die er kommen sollte wenn er sich nochmal die Hilfe zu Gemüte führt.. hab sie aber ned noch getestet...
lassen wir Xqgene doch mal gelegenheit sich zu melden (-;-junix
-
@junix hast du die Hilfe selbst gelesen???
meine ListBox hat Style = lbOwnerDrawFixed;
und ich zeichne meine Items in DrawItem selbst.
und danach wird noch ein FocusRect automatisch zeichnet.
Also teste das erst mal selber, dann gib deine kommentare ab.
@WebFritzi dien Vorschlag klingt gut, da ich keine andere möglichkeit jetzt sehe werde ich es wohl so maschen müssen