Schriftfarbe in Listbox

  1. ‹ Older
  2. 9 months ago

    Thomas E

    20 Jul 2018 Pre-Release Testers

    Was wiederum ein prima Beispiel ist, wo man keinen Plugin benötigt, da man das mit einigen einfachen Declares lösen kann.

  3. Ulrich B

    20 Jul 2018 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...

    Dann wäre vermutlich ein Ansatz, die HSV-Werte von selectedControlColor oder dessen Grauwertrepräsentation zu analysieren und entsprechend die Textfarbe als wirklich kontrastierenden Grauwert einzustellen.
    Wobei: Viel Aufwand für etwas, das eigentlich das System sinnvoll für einen erledigen sollte.

  4. Stefan M

    20 Jul 2018 Germany, NRW, Kirchlengern (Kr...

    @Emile S Der Benutzer, der das Problem hat, was macht er mit anderer Software?

    Ich bin der Nutzer.
    Welche andere Software ;-)
    Im Finder fällt es mir regelmäßig auf, bei anderer Software bislang nicht,
    Ich ärgere mich über die fehlende Einstellmöglichkeit. Indsbesondere in meinem Programm helfe ich mir, indem ich die Textausgabe im CellTextPaint mit schwarzem Text ausgebe.

    @ChristianSchmitz Du kannst Die Farbe für den Text im textPaint Event einstellen.
    Beim NSColorMBS gibt es ja Textfarben für Listen.
    selectedTextColor vermutlich. Die könnte man ja dann nehmen für den Text.

    Ja, mache ich bereits. Finde ich nur umständlich.

    @Ulrich B Dann wäre vermutlich ein Ansatz, die HSV-Werte von selectedControlColor oder dessen Grauwertrepräsentation zu analysieren und entsprechend die Textfarbe als wirklich kontrastierenden Grauwert einzustellen.
    Wobei: Viel Aufwand für etwas, das eigentlich das System sinnvoll für einen erledigen sollte.

    Genau, ich hätte erwartet, dass es das System vernünftig macht. oder zumindest eine Einstllung bietet. Unter Win10 kann man ja nicht mal so einfach die Auswahlfarbe ändern. :-(

  5. Edited 9 months ago

    @StefanMettenbrink kontarstreich

    :)
    "Kontrastreich". War das die automatische Rechtschreibkorrektur?

  6. Stefan M

    21 Jul 2018 Germany, NRW, Kirchlengern (Kr...

    Ich schätze, das war meine eigene Kreativität :-)

  7. Ulrich B

    21 Jul 2018 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...
    Edited 9 months ago

    Konterstreich schreibt sich ja auch mit E :D

    Hier eine selbstgebastelte Einfärbmethode nach Pi * Daumen-Handabstimmung in purem Xojo-Code:

    Function CellTextPaint(g As Graphics, row As Integer, column As Integer, x as Integer, y as Integer) Handles CellTextPaint as Boolean
      If Me.Selected(row) Then
        Dim hc As Color = HighlightColor
        Dim value As Double = (hc.Magenta * 0.6 + hc.Cyan * 0.85 + hc.Yellow * 0.2) / 3
        Dim nc As Color = If(value < 0.05, Color.Black, Color.White)
        g.ForeColor = nc
      End If
      #Pragma Unused x
      #Pragma Unused y
      #Pragma Unused column
    End Function
  8. Stefan M

    22 Jul 2018 Germany, NRW, Kirchlengern (Kr...

    Vielen Dank, ich hatte das bislang so:

    dim i as integer
    if me.selected(row)=true then
      i=(HighlightColor.Red+HighlightColor.Green+HighlightColor.Blue)*2/3
    end
    if i>250 then
      g.foreColor=rgb(0,0,0)
    else
      g.foreColor=rgb(255,255,255)
    end

    Vom Prizip ähnlich, hat bislang genügt :-)

    So etwas elegantes fällt mir nicht ein:
    Dim nc As Color = If(value < 0.05, Color.Black, Color.White)

    Da hänge ich wohl noch weit zurück. Zumindest verstehe ich es schon :-)

or Sign Up to reply!