OK HeXOR,
erst mal Danke für die Info und den Code.
Ich verwenden zum Aufbau des Dialogs auch Dein Tool. Es gibt nur einen kleinen Unterschied. Ich verwende die ID anstelle des Namens.
Erzeuge ich den Code so wie Du, funktioniert es auch.
Code: Alles auswählen
;/-------------------------
;|
;| Names, IDs, Procedures
;|
;| Example Template for Dialog Design0R
;|
;/-------------------------
Runtime Enumeration Windows
#Window_1
EndEnumeration
#DD_WIN_window_1 = "window_1"
Runtime Enumeration Gadgets
#listicon_1
EndEnumeration
#DD_GADGET_listicon_1 = "listicon_1"
Procedure.s GetXMLString()
Protected XML$
XML$ + "<?xml version='1.0' encoding='UTF-16'?>"
XML$ + ""
XML$ + "<dialogs>"
XML$ + " <window flags='#PB_Window_SystemMenu' width='200' height='200' name='window_1' id='#Window_1'>"
XML$ + " <listicon flags='#PB_ListIcon_CheckBoxes | #PB_ListIcon_GridLines' name='listicon_1' id='#listicon_1'/>"
XML$ + " </window>"
XML$ + "</dialogs><!--DDesign0R Definition: PureBasic|1|1|0-->"
XML$ + ""
ProcedureReturn XML$
EndProcedure
;Test it
CompilerIf #PB_Compiler_IsMainFile
a$ = GetXMLString()
CatchXML(0, @a$, StringByteLength(a$), 0, #PB_Unicode)
CreateDialog(0)
OpenXMLDialog(0,0,"window_1")
For i = 1 To 20
AddGadgetItem(#listicon_1,-1,"Item" + Str(i))
Next
SetGadgetItemState(#listicon_1,5,#PB_ListIcon_Checked)
SetGadgetItemState(#listicon_1,6,#PB_ListIcon_Checked)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
CompilerEndIf
;(c) HeX0R 2019
Erstaunlich ist, dass ich das ListIcon in meinem Programm auch mit Zeilen füllen kann. Nur sobald ich die CheckBoxen aktivieren möchte passiert nichts. Die Befehle scheinen auch OK zu sein, da keine Fehlermeldung generiert wird.
Hier mal ein Code snippet
XML Snippet:
Code: Alles auswählen
...
XML$ + " <hbox expand='equal'>"
XML$ + " <vbox expand='item:1'>"
XML$ + " <listicon flags='#PB_ListIcon_CheckBoxes | #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect' name='listicon_parameter_listenanzeige' id='#listicon_parameter_listenanzeige' onchange='newparameter()' onevent='newparameter()'/>"
XML$ + " <frame text=' Anzeige ab ' name='frame_parameter_anzeigeab' id='#frame_parameter_anzeigeab'>"
XML$ + " <vbox expand='equal'>"
XML$ + " <text text='50' flags='#PB_Text_Center' name='text_parameter_qualitylevel' id='#text_parameter_qualitylevel'/>"
XML$ + " <trackbar flags='#PB_TrackBar_Ticks' text=' Anzeige ab ' min='1' max='9' height='30' name='trackbar_parameter_quality' id='#trackbar_parameter_quality' onevent='newparameter()'/>"
XML$ + " </vbox>"
XML$ + " </frame>"
XML$ + " </vbox>"
XML$ + " <listicon flags='#PB_ListIcon_GridLines' name='listicon_parameter_statistik' id='#listicon_parameter_statistik'/>"
XML$ + " </hbox>"
...
ListIcon Füllsnippet (funktioniert problemlos!)
Code: Alles auswählen
AddGadgetColumn(#listicon_parameter_listenanzeige,0,"Wahl",50)
AddGadgetColumn(#listicon_parameter_listenanzeige,1,"Listen Name",100)
AddGadgetColumn(#listicon_parameter_listenanzeige,2,"Listendatum",50)
AddGadgetItem(#listicon_parameter_listenanzeige,0,Chr(10) + "Liste 1")
AddGadgetItem(#listicon_parameter_listenanzeige,1,Chr(10) + "Liste 2")
AddGadgetItem(#listicon_parameter_listenanzeige,2,Chr(10) + "Liste 3")
AddGadgetItem(#listicon_parameter_listenanzeige,3,Chr(10) + "Liste 4")
ListIcon CheckBox Steuerung (Funktioniert nicht!)
Code: Alles auswählen
envi\SEU = ReadPreferenceInteger("SEU",1)
If envi\SEU = 1
SetGadgetItemState(#listicon_parameter_listenanzeige,0,#PB_ListIcon_Checked)
EndIf
envi\SUN = ReadPreferenceInteger("SUN",1)
If envi\SUN = 1
SetGadgetItemState(#listicon_parameter_listenanzeige,1,#PB_ListIcon_Checked)
EndIf
envi\SUK = ReadPreferenceInteger("SUK",1)
If envi\SUK = 1
SetGadgetItemState(#listicon_parameter_listenanzeige,2,#PB_ListIcon_Checked)
EndIf
envi\SUS = ReadPreferenceInteger("SUS",1)
If envi\SUS = 1
SetGadgetItemState(#listicon_parameter_listenanzeige,3,#PB_ListIcon_Checked)
EndIf
Woran könnte das liegen?
Ich setze PB 5.73 LTS ein