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