Seite 1 von 1

ListIconGadget Selection color vom englischen Forum

Verfasst: 01.08.2013 23:43
von hjbremer
Nubcake hat im englischen Forum nach Vista Feeling fürs Listicongadget gefragt.

Hilfreiche und lehrreiche Antworten mit Codes gab es genügend.

Ab Vista aufwärts ein Codeschnipsel, den es einzubauen gilt.

Code: Alles auswählen

Import "UxTheme.lib"
   SetWindowTheme(hwnd, classname.p-unicode, titlename)
EndImport

ListIconGadget(#list_nr, 0, 0, 0, 0, "", 0, flags)
SetWindowTheme(GadgetID(#list_nr), "explorer", 0)

PS: da ich im englischen Forum mit meinem deutschen Usernamen/Passwort mich nicht anmelden kann, möge doch jemand Nubcake den Codeschnipsel mitteilen

Re: ListIconGadget Selection color vom englischen Forum

Verfasst: 14.08.2013 18:19
von RSBasic
Interessant, danke. :allright:

Re: ListIconGadget Selection color vom englischen Forum

Verfasst: 15.08.2013 09:46
von Shardik
hjbremer hat geschrieben:Ab Vista aufwärts ein Codeschnipsel, den es einzubauen gilt.
Das Codeschnipsel hat nicht unbedingt etwas mit Vista zu tun, denn es läßt sich genauso gut in Windows XP verwenden. Es bewirkt lediglich, dass der Hintergrund einer ausgewählten Zeile genauso dargestellt wird, wie der Hintergrund der Zeile mit der Spaltenbeschriftung. Im Prinzip sorgt der Explorer-Stil dafür, dass in einem aktivierten ListIconGadget die Hervorhebung des Hintergrunds einer selektierten Zeile durch eine kräftigere Farbe deaktiviert wird, d.h. dass die Hintergrundfarbe gleich bleibt, egal ob das ListIconGadget aktiviert ist oder nicht.

Da Windows Vista und 7 standardmäßig ein anderes Theme verwenden als Windows XP, unterscheidet sich natürlich die Darstellung. Hier ein kleines Beispielprogramm, das den Unterschied in zwei Fenstern untereinander anzeigt und von Windows XP an funktioniert:

Code: Alles auswählen

Import "UxTheme.lib"
   SetWindowTheme(WindowHandle.I, ClassName.P-Unicode, *CLSIDNameList)
EndImport

OpenWindow(0, 100, 100, 358, 80, "Normales ListIconGadget")
ListIconGadget(0, 5, 5, 370, 70, "Name", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(0, 1, "Address", 250)
AddGadgetItem(0, -1, "Harry Rannit" + #LF$ + "12 Parliament Way, Battle Street, By the Bay")
AddGadgetItem(0, -1, "Ginger Brokeit"+ #LF$ + "130 PureBasic Road, BigTown, CodeCity")
SetGadgetState(0, 1)

OpenWindow(1, 100, 220, 358, 80, "ListIconGadget mit Explorer-Style")
ListIconGadget(1, 5, 5, 370, 70, "Name", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
SetWindowTheme(GadgetID(1), "explorer", 0)
AddGadgetColumn(1, 1, "Address", 250)
AddGadgetItem(1, -1, "Harry Rannit" + #LF$ + "12 Parliament Way, Battle Street, By the Bay")
AddGadgetItem(1, -1, "Ginger Brokeit"+ #LF$ + "130 PureBasic Road, BigTown, CodeCity")
SetGadgetState(1, 1)

SetActiveGadget(0)

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow