ListViewGadget Text einfärben

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

ListViewGadget Text einfärben

Beitrag von The_Dark_Zim-.- »

Hey Ho
Ich würde gerne in dem ListViewGadget einzelne Text-Zeilen einfärben, nicht alle Zeilen.
Wäre nett wenn jemand da eine Lösung hätte ^^

Gruß Zim
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: ListViewGadget Text einfärben

Beitrag von Vera »

Hi The_Dark_Zim-.-,

ich hab' mal versucht, das raus zu finden, aber nichts finden können, um einzelne Zeilen (oder deren Text) getrennt einzufärben.
AUßER - man markiert gezielt einzelne Einträge. Es gäbe nur eine Markierungsfarbe (durch das User-OSstyle vorgegeben) und diese Einträge wären dadurch vorselektiert. Wenn es zunächst nur darum geht, Ergebnisse zu präsentieren, reicht das vielleicht aus.

Code: Alles auswählen

  If OpenWindow(0, 0, 0, 200, 190, "SetGadgetColor", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ListViewGadget(1, 10, 10, 180, 170,  #PB_ListView_MultiSelect )
;    ListViewGadget(1, 10, 10, 180, 170,  #PB_ListView_ClickSelect)

    For i = 0 To 14
      AddGadgetItem(1, -1, "Textzeile - " + Str(i+1))
    Next i

    SetGadgetColor(1, #PB_Gadget_BackColor, $443322)
    SetGadgetColor(1, #PB_Gadget_FrontColor, $0000FF)
;    SetGadgetState(1, 11)  
    SetGadgetItemState(1, 1, 1)
    SetGadgetItemState(1, 4, 1)
    SetGadgetItemState(1, 8, 1)

    Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Dann habe ich aber noch weiter gestöbert und bin auf das ListIconGadget gekommen. Das darf ja auch einspaltig sein, hat aber auf jeden Fall eine Titelzeile. Mit einem ListIconGadget kann man aber insgesammt deutlich mehr machen, u.a. einzelne Text-Zeilen (u/o Text) einfärben. Kleines Beispiel:

Code: Alles auswählen

 If OpenWindow(0, 100, 100, 200, 100, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ListIconGadget(0, 5, 5, 190, 90, "Liste mit Titel", 170, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection |#PB_ListIcon_MultiSelect)
   AddGadgetItem(0, -1, "Harry")
   AddGadgetItem(0, -1, "Ginger ")
   AddGadgetItem(0, -1, "Rannit")
   AddGadgetItem(0, -1, "Brokeit")
   AddGadgetItem(0, -1, "hui")
   AddGadgetItem(0, -1, "buh")
   SetGadgetItemColor(0, 1, #PB_Gadget_BackColor, $007766)
   SetGadgetItemColor(0, 1, #PB_Gadget_FrontColor, $00ccff)
   SetGadgetItemColor(0, 3, #PB_Gadget_BackColor, $6600FF)
   Repeat
     Event = WaitWindowEvent()
   Until Event = #PB_Event_CloseWindow
 EndIf
soweit zwei Lösungsangebote

Gruß ~ Vera
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: ListViewGadget Text einfärben

Beitrag von rolaf »

Vera hat geschrieben:... und bin auf das ListIconGadget gekommen. Das darf ja auch einspaltig sein, hat aber auf jeden Fall eine Titelzeile.
Mit dem Flag #LVS_NOCOLUMNHEADER hat es keine Titelzeile. :wink:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: ListViewGadget Text einfärben

Beitrag von Vera »

@DrFalo toller Tip ~ :)

und ganz aktuell hierzu, vier Beispiele im englischen Forum: NOCOLUMNHEADER & AUTOSIZE on Linux & Mac (& Win)

danke ~ Vera
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Antworten