Seite 1 von 2
ListIcon Checkbox
Verfasst: 04.09.2013 09:05
von Velindos
Hallo Leute,
kann mir jemand helfen, wie ich die Checkbox im ListIcon-Wahl Ein- bzw Ausblenden kann!
Checkbox Einblenden beim Start des Programms:
Code: Alles auswählen
ListIconGadget(0, 4, 83, 657, 221, "0", 24,#PB_ListIcon_CheckBoxes)
Gruss ... Velindos
Re: ListIcon Checkbox
Verfasst: 04.09.2013 09:12
von Shardik
Hast Du schon einmal Fluid Bytes Beispiel ausprobiert?
http://www.purebasic.fr/german/viewtopi ... 8&start=20
Re: ListIcon Checkbox
Verfasst: 04.09.2013 09:29
von Velindos
Hallo Shardik,
das Funktioniert auf Anhieb, besten DANK!
Gruss ... Velindos
Re: ListIcon Checkbox
Verfasst: 04.09.2013 17:02
von Velindos
Hallo Leute,
zu früh gefreut, wenn ich dann die Checkbox Ausschalte, funktioniert mein Doppelklick auf dem ListIconGadget nicht mehr!
Code: Alles auswählen
OpenWindow(0,0,0,320,300,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0,5,30,310,265,"Name",250)
ButtonGadget(1,5,5,100,20,"Mach An")
ButtonGadget(2,110,5,100,20,"Mach Aus")
For i=1 To 80 : AddGadgetItem(0,-1,"Gadget Item #" + Str(i)) : Next
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
SendMessage_(GadgetID(0),#LVM_ENSUREVISIBLE,0,0)
SendMessage_(GadgetID(0),#LVM_SETEXTENDEDLISTVIEWSTYLE,0,#LVS_EX_CHECKBOXES)
Case 2
SendMessage_(GadgetID(0),#LVM_ENSUREVISIBLE,0,0)
SendMessage_(GadgetID(0),#LVM_SETEXTENDEDLISTVIEWSTYLE,0,0)
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
Kann mir jemand sagen was ich da Einstellen muss?
Gruss ... Velindos
Re: ListIcon Checkbox
Verfasst: 04.09.2013 17:08
von RSBasic
Was meinst du mit Doppelklick? Auf ein Eintrag?
Bei mir funktioniert es, egal ob ich es aus- oder einschalte:
Code: Alles auswählen
EnableExplicit
Define EventID
Define i
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0,5,30,310,265,"Name",250)
ButtonGadget(1,5,5,100,20,"Mach An")
ButtonGadget(2,110,5,100,20,"Mach Aus")
For i=1 To 80 : AddGadgetItem(0,-1,"Gadget Item #" + Str(i)) : Next
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
SendMessage_(GadgetID(0),#LVM_ENSUREVISIBLE,0,0)
SendMessage_(GadgetID(0),#LVM_SETEXTENDEDLISTVIEWSTYLE,0,#LVS_EX_CHECKBOXES)
Case 2
SendMessage_(GadgetID(0),#LVM_ENSUREVISIBLE,0,0)
SendMessage_(GadgetID(0),#LVM_SETEXTENDEDLISTVIEWSTYLE,0,0)
Case 0
Select EventType()
Case #PB_EventType_LeftDoubleClick
Debug "a"
EndSelect
EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Vielleicht meinst du ja was ganz anderes und ich hab es nicht richtig verstanden.
Re: ListIcon Checkbox
Verfasst: 04.09.2013 17:16
von Velindos
Hallo,
also bei mir nicht! Arbeite mit PB 5.2 Beta 32Bit unter Winows 8 64 Bit, liegt es daran?
Gruss ... Velindos
Re: ListIcon Checkbox
Verfasst: 04.09.2013 17:33
von alter Mann
den Haken musst Du beim Doppelklick selber setzen :
Code: Alles auswählen
EnableExplicit
Define EventID
Define i
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0,5,30,310,265,"Name",250)
ButtonGadget(1,5,5,100,20,"Mach An")
ButtonGadget(2,110,5,100,20,"Mach Aus")
For i=1 To 80 : AddGadgetItem(0,-1,"Gadget Item #" + Str(i)) : Next
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
SendMessage_(GadgetID(0),#LVM_ENSUREVISIBLE,0,0)
SendMessage_(GadgetID(0),#LVM_SETEXTENDEDLISTVIEWSTYLE,0,#LVS_EX_CHECKBOXES)
Case 2
SendMessage_(GadgetID(0),#LVM_ENSUREVISIBLE,0,0)
SendMessage_(GadgetID(0),#LVM_SETEXTENDEDLISTVIEWSTYLE,0,0)
Case 0
Select EventType()
Case #PB_EventType_LeftDoubleClick
i = GetGadgetState(0)
SetGadgetItemState(0,i,#PB_ListIcon_Checked)
EndSelect
EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Re: ListIcon Checkbox
Verfasst: 04.09.2013 18:15
von Velindos
Hallo,
dein Typ ist mir Klar! Bin noch am Suchen. Habe festgestellt das der Doppelklick kommt, aber meine Procedure nur "0" bekommt!
Habe die Sache geklärt, bei oben genannten verliert das ListIconGadget den Status = #PB_ListIcon_FullRowSelect
Weiss jemand wie ich den Wiederherstelle mit den Befehl " SendMessage_(GadgetID(0),#LVM_ENSUREVISIBLE,0,0) "
Gruss ... Velindos
Re: ListIcon Checkbox
Verfasst: 04.09.2013 20:36
von hjbremer
so wat ?
Code: Alles auswählen
OpenWindow(0,0,0,320,300,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0,5,30,310,265,"Name",250,#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
ButtonGadget(1,5,5,100,20,"Mach An")
ButtonGadget(2,110,5,100,20,"Mach Aus")
For i=1 To 80 : AddGadgetItem(0,-1,"Gadget Item #" + Str(i)) : Next
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
lastselect = GetGadgetState(0)
exstyle = SendMessage_(GadgetID(0), #LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
SendMessage_(GadgetID(0), #LVM_SETEXTENDEDLISTVIEWSTYLE, 0, exstyle | #LVS_EX_CHECKBOXES)
SetGadgetState(0, lastselect)
SetActiveGadget(0)
Case 2
lastselect = GetGadgetState(0)
exstyle = SendMessage_(GadgetID(0), #LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
SendMessage_(GadgetID(0),#LVM_SETEXTENDEDLISTVIEWSTYLE,0, exstyle & ~ #LVS_EX_CHECKBOXES)
SetGadgetState(0, lastselect)
SetActiveGadget(0)
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
Re: ListIcon Checkbox
Verfasst: 05.09.2013 06:48
von Velindos
Hallo hjbremer,
einen Guten und meinen besten Dank für euren Vorschlag! Dieser Funzt wie gewünscht.
Das mit den Zeichen(& ~) muss man wohl wissen!
Nochmals DANKE!
Gruss ... Velindos