ListIconGadget : Auswahl anzeigen (SOLVED)

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

ListIconGadget : Auswahl anzeigen (SOLVED)

Beitrag von Bisonte »

Hallo !

Wie macht man ein "Item" in einem ListIconGadget wieder "ausgewählt" sichtbar ?

Will heissen. Ich habe ein ListIcon, dort ist eine Reihe ausgewählt (farblich unterlegt die ganze Zeile).
Ich speichere die Anwahl mit GetGadgetState(ListIcon) und sortiere das Gadget neu.
Nun soll die gleiche ZEile, die ich mit GetGadgetState() gesichert habe wieder so ausgewählt aussehen,
wie vorher. Ein SetGadgetState() funktioniert hier leider so nicht (es ist zwar ausgewählt, aber man sieht es
nicht).

In einem Thread fand ich

Code: Alles auswählen

SendMessage_(GadgetID(ListIcon), #LVM_SETSELECTIONMARK, #Null, State)
Allerdings funktioniert das anscheinend nicht (es wird nicht mehr die Auswahl hervorgehoben)

Wie krieg ich das hin ?

Angemerkt: Das ListIcon hat CheckBoxen und es ist auf Windows.
Ich hoffe ich hab das verständlich ausgedrückt....
Zuletzt geändert von Bisonte am 28.06.2017 10:52, insgesamt 1-mal geändert.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ListIconGadget : Auswahl anzeigen

Beitrag von Kiffi »

Flag: #PB_ListIcon_AlwaysShowSelection bei Erstellung des ListIconGadgets angeben.

Grüße ... Peter
Hygge
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: ListIconGadget : Auswahl anzeigen

Beitrag von Bisonte »

das ist angegeben.

Ich sage mal : Wenn ich das ListIcon neu befülle (ClearGadgetItems()) würde ich gerne danach die alte Auswahl
auch optisch wiederherstellen.

Ist ein Preferences Fenster, das zwischendurch auch mal mit "HideWindow" versteckt wird. Wenn ich es wieder mit
HideWindow() sichtbar mache, ist zwar das GetGadgetItemState richtig, aber die Auswahl wird nicht farblich hervorgehoben.

Edit :

Ok Rausgefunden ! Es muss nach dem SetGadgetState ein SetActiveGadget Aufruf erfolgen, damit es wieder farblich
hervorgehoben wird....

Manchmal kann es so einfach sein (und ich hab schon die MSDN seiten durchwühlt ;) )
Zuletzt geändert von Bisonte am 28.06.2017 10:50, insgesamt 1-mal geändert.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: ListIconGadget : Auswahl anzeigen

Beitrag von NicTheQuick »

Normalerweise geht das so: SetGadgetItemState(#Gadget, item, #PB_ListIcon_Selected)
Bild
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: ListIconGadget : Auswahl anzeigen

Beitrag von Bisonte »

NicTheQuick hat geschrieben:Normalerweise geht das so: SetGadgetItemState(#Gadget, item, #PB_ListIcon_Selected)
Nein leider auch nicht... Also die farbliche Hervorhebung. Aber wie oben schon editiert : Ein SetActiveGadget löst mein Problem.
Zuletzt geändert von Bisonte am 28.06.2017 10:52, insgesamt 1-mal geändert.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Andesdaf
Moderator
Beiträge: 2658
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: ListIconGadget : Auswahl anzeigen (SOLVED)

Beitrag von Andesdaf »

SetActiveGadget()?

// ah, zu spät...
Win11 x64 | PB 6.00 (x64)
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: ListIconGadget : Auswahl anzeigen (SOLVED)

Beitrag von Bisonte »

Ja. Nur wenn das Gadget den Fokus nach dem SetGadgetState erhält, dann wird die Auswahl wieder "blau" (Standard Windows).

Oh falsch interpretiert ;)
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Antworten