ListIconGadget Spalte mit Checkbox
Verfasst: 24.11.2023 21:27
Hallo,
mit diese Code wird eine Spalte an der erste Stelle mit CheckBox erzeugt.
Wie kann ich eine Spalte wie mit AddGadgetColumn ganz Links/Rechts oder an eine andere Stelle erzeugen?
Danke
mit diese Code wird eine Spalte an der erste Stelle mit CheckBox erzeugt.
Wie kann ich eine Spalte wie mit AddGadgetColumn ganz Links/Rechts oder an eine andere Stelle erzeugen?
Danke
Code: Alles auswählen
Structure ProgramDataCB
QuitValue.i
WindowMutex.i
LastWindow.s
CurrentLine.i
CurrentRecord.s
CurrentCheckedRow.i ; Here I am!
CurrentDirectory.s
DatabaseDirectory.s
TemporaryDirectory.s
RepeaterDirectory.s
DatabaseName.s
DatabaseHandle.i
SearchCueFont.i
SearchNormalFont.i
SearchCueText.s
CurrentDate.s
EndStructure
Global Program.ProgramDataCB
#lstData=7
Procedure WndProc(hwnd, uMsg, wParam, lParam)
Select uMsg
Case #WM_NOTIFY
*uMsg.NMHDR = lParam
If *uMsg\hwndFrom = GadgetID(#lstData) And *uMsg\code = #NM_CLICK
*Li.NMITEMACTIVATE = lParam
Program\CurrentCheckedRow = *Li\iItem
EndIf
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(0, 0, 0, 640, 400, "ListIconGadgets", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(#lstData, 10, 10, 620,380, "CheckBox", 100, #PB_ListIcon_GridLines|#PB_ListIcon_CheckBoxes|#PB_ListIcon_FullRowSelect)
For c = 1 To 3
AddGadgetColumn(#lstData, c, "Column " + Str(c), 100)
Next
For r = 0 To 100
AddGadgetItem(#lstData, r, ""+Chr(10)+"Item-1 "+Str(r)+Chr(10)+"Item-2 "+Str(r)+Chr(10)+"Item-3 "+Str(r))
Next
EndIf
SetWindowCallback(@WndProc())
Repeat
Select WaitWindowEvent(#lstData)
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case #lstData
Select EventType()
Case #PB_EventType_Change
Status = GetGadgetItemState(#lstData, Program\CurrentCheckedRow)
If status = 0
Debug "Row : #"+Str(Program\CurrentCheckedRow)+" UnSelected"
Debug "CheckBox UnChecked"
Debug "----"
ElseIf status = 1
Debug "Row : #"+Str(Program\CurrentCheckedRow)+" Selected"
Debug "CheckBox UnChecked"
Debug "----"
ElseIf Status = 2
Debug "Row : #"+Str(Program\CurrentCheckedRow)+" UnSelected"
Debug "CheckBox Checked"
Debug "----"
ElseIf Status = 3
Debug "Row : #"+Str(Program\CurrentCheckedRow)+" Selected"
Debug "CheckBox Checked"
Debug "----"
EndIf
EndSelect
EndSelect
EndSelect
Until Quit = 1