Spezifische Farbe in einem String

  • Hallo,

    ich hab da ein Problem, da ich bisher nur GUICtrlSetColor gefunden habe:
    Ich würde gerne in einer ListBox, ein spezifisches Item einer Farbe zuweisen und nicht der ganzen Liste.
    Zusätzlich muss ich noch in dem ListBoxItem selbst die Farbe ändern können pro Text.
    Also nehmen wir mal an es gebe die Funktion setcolorstring(text,farbe) o.ä. müsste das so aussehn:
    GUICtrlSetData($List1, "SetColorString("Hallo",0x000000 & " " & SetColorString("Welt",0xff0000))

    Wie mach ich das am besten, oder gibts schon eine Funktion die das macht?

    Danke

  • OK, aber mal ne andere Frage, wenn ich mit GUIImageListCreate ein paar nette Farben erzeugt habe, wie kann ich bei einem Element sagen, das ich gar kein Bild am Anfang haben möchte?
    Ich habs jetzt temporär so gelöst, das ich einfach ein weißes Bild genommen habe.
    Und gibts eine Möglichkeit die Bilder nicht nur am Anfang zu setzen sondern auch zu zentrieren?

  • Ich weis net was du möchtest.
    Aber zu deinem ersten Post habe ich eine Lösung.

    Spoiler anzeigen
    [autoit]

    GUICtrlSetColor("Ich bin farig.", 0xFF0000)

    [/autoit]


    Das ist zwar von einen Treeview, aber es sollte trotzdem funktionieren.
    Deinen 2. Post verstehe ich garnet. Bring doch mal ein Beispiel.

    MfG
    Der_Doc

    • Offizieller Beitrag

    Images sind immer links angeordnet, geht nicht anders.
    Du brauchst kein weißes Image, wenn kein Image dargestellt werden soll, verweise auf einen Indexwert, der größer als in deiner Imagelist ist.
    Vor dem Item wird ebenfalls Platz gehalten für Images - selbst wenn nicht gesetzt. Der Style bezieht sich immer auf Item oder Item+SubItems, aber nicht nur auf SubItems.

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <GuiImageList.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $aHost[4] = ['W2K8-D001','W2K8-D002','W2K8-D003','W2K8-D004']

    [/autoit] [autoit][/autoit] [autoit]

    $gui = GUICreate('test', 430, 300)
    $lv = GUICtrlCreateListView('Host|Java|AReader|Flash|Firefox', 10, 10, 400, 200, Default, $LVS_EX_SUBITEMIMAGES)
    $hListView = GUICtrlGetHandle($lv)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 150)
    For $i = 1 To 4
    _GUICtrlListView_SetColumnWidth($hListView, $i, 61)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x0000FF, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 3
    _GUICtrlListView_AddItem($hListView, $aHost[$i], 3) ; <== Index den es in der ImageList nicht gibt
    For $j = 1 To 4
    _GUICtrlListView_AddSubItem($hListView, $i, '', $j, Random(0,2,1))
    Next
    Next

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    Do
    Until GUIGetMsg() = -3

    [/autoit]