Cursorbalken in Listbox farblich ändern



  • Hi Leute.
    Der Titel wäre dann auch gleich meine Frage.
    Wie mache ich das?

    Und noch eine Frage:
    Wenn ich in der Listbox ein Hintergrundbild verwende, dann müsste der Hintergrund der Strings, welche dort angezeigt werden sollen, transparent sein. Wie setze ich das um?

    Danke für eure Hilfe



  • Hallo

    dz must TListBox::Style auf lbOwnerDraw... setzen. Dann kannst du die Darstellung mit dem Event OnDrawItem über die Eigenschaft TListBox::Canvas komplett übernehmen.
    Text mit transparenten Hintergrund kannst so ausgeben :

    Canvas->Brush->Style = bsClear;
    Canvas->TextOut(Left, Top, Text.c_str());
    

    bis bald
    akari



  • Ok. Aber das ist noch nicht ganz das, was ich haben wollte. Also der Hintergrund einer ListBox soll ein Bild sein. Und darauf möchte ich dann die Items ausgeben. Jedoch wird mir dann das Bild nicht nur mit den Buchstaben überlagert, sondern mit dem kompletten Rechteck, welches der Buchstabe oder das Wort einnimmt (Hintergrundfarbe des Textes). Kann ich dies irgendwie transparent machen, wie ich das bei den Labels auch kann?



  • 😕



  • Falsch. Was Akari geschrieben hat ist GENAU was du brauchst. Du solltest dich nur mal damit beschäftigen.



  • Stimmt. Hab da wohl nen kleinen Fehler beim ersten Versuch mit eingebaut.
    Sorry 🤡


Anmelden zum Antworten