Like this:
More that one CheckBox in Row
More that one CheckBox in Row
How to make ListIconGadget with the more that one CheckBox in Row?
Like this:

			
			
									
									Like this:
See ya... 
						
Re: More that one CheckBox in Row
I don't thank that's possible with PureBasic-only functions. However using some Windows API  might work.
I'm also interested in that. Especially placing custom icons in other columns than the first one and simply being able to use multiple in one row.
			
			
									
									I'm also interested in that. Especially placing custom icons in other columns than the first one and simply being able to use multiple in one row.
If any of you native English speakers have any suggestions for the above text, please let me know (via PM). Thanks!
						Re: More that one CheckBox in Row
There may be an easier way to do this, but this will start you off with icons in other columns.
			
			
									
									Code: Select all
; English forum: http://www.purebasic.fr/english/viewtopic.php?t=7059&postdays=0&postorder=asc&start=15
; Author: Denis (updated for PB 4.00 by Andre)
; Date: 30. July 2003
; OS: Windows
; Demo: No
; ListIconGadget : adding icons to other columns than 1st
;constantes des Gadgets 
#MainWindow      = 0 
#ListIconGadget1 = 1 
#ButtonGadget    = 2 
#ButtonGadget2   = 3 
#ButtonGadget3   = 4 
#Font            = 5 
#FontHeader      = 6 
#LVM_SETEXTENDEDLISTVIEWSTYLE = 4150 
#LVS_EX_SUBITEMIMAGES         = 2 
;;======================================================================================== 
;;======================================================================================== 
If OpenWindow(#MainWindow,0,0,450,300, " Icon - Icon - Icon", #PB_Window_ScreenCentered |#PB_Window_SystemMenu) 
   Attention.l = CreateImage(300, 16,16)
   StartDrawing(ImageOutput(300))
     Box(4,4,8,8,RGB(255,30,30))
   StopDrawing()
    
   If CreateGadgetList(WindowID(#MainWindow)) And ListIconGadget(#ListIconGadget1,1,50,320,450,"Colonne 1", 298/3 ,#PB_ListIcon_MultiSelect|#PB_ListIcon_FullRowSelect) 
      AddGadgetColumn(#ListIconGadget1, 1, "Colonne 2",298/3) 
      AddGadgetColumn(#ListIconGadget1, 2, "Colonne 3",298/3) 
   EndIf 
   FontID = LoadFont(#Font, "ARIAL", 9) 
   SetGadgetFont(#ListIconGadget1, FontID) 
; set extended style to the listicongadget to set image for subitems 
   SendMessage_(GadgetID(#ListIconGadget1), #LVM_SETEXTENDEDLISTVIEWSTYLE , #LVS_EX_SUBITEMIMAGES, #LVS_EX_SUBITEMIMAGES) 
   For i.b = 0 To 5 
       AddGadgetItem(#ListIconGadget1, -1, "111"+Chr(10)+ "222"+Chr(10)+"333"+Chr(10)+ "444",Attention) 
   Next i 
; fill up var to set subitem icon and text 
   var.lv_item 
    
   Var\mask     = #LVIF_IMAGE | #LVIF_TEXT 
   Var\iItem    = 5  ; row number for change 
   Var\iSubItem = 2  ; 2nd subitem 
   Var\pszText  = @"Try"  ; text to change to 
   Var\iImage   = 1; index of icon in the list 
; set text + icon in the listicongadget 
   SendMessage_(GadgetID(#ListIconGadget1), #LVM_SETITEM, 0, @Var) 
EndIf 
  Repeat 
     Select WaitWindowEvent() 
  
         Case #PB_Event_CloseWindow 
         Quit = 1 
     EndSelect 
  Until Quit 
End----
R Tape loading error, 0:1
						R Tape loading error, 0:1
Re: More that one CheckBox in Row
On Windows that would be very difficult using the Microsoft ListView control (which is4RESTER wrote:How to make ListIconGadget with the more that one CheckBox in Row?
the underlying basis of the ListIconGadget) even if using API functions. But RASHAD
has found a kind of "cheat" by using two ListIconGadgets appearing as a single one:
http://www.purebasic.fr/english/viewtop ... 12&t=47455
For Linux I posted an example in the German forum:
http://www.purebasic.fr/german/viewtopi ... 0&start=19
					Last edited by Shardik on Wed Sep 07, 2011 8:10 am, edited 1 time in total.
									
			
									
						Re: More that one CheckBox in Row
em_uk wrote:There may be an easier way to do this, but this will start you off with icons in other columns.
Code: Select all
; English forum: http://www.purebasic.fr/english/viewtopic.php?t=7059&postdays=0&postorder=asc&start=15 ; Author: Denis (updated for PB 4.00 by Andre) ; Date: 30. July 2003 ; OS: Windows ; Demo: No ; ListIconGadget : adding icons to other columns than 1st [/quote] That's not what I asked. I asked about the [u]standard[/u] CheckBoxes, not about Icones as CheckBoxes.
See ya... 
						
Re: More that one CheckBox in Row
This also with the malfunctions when column resizing: http://www.purebasic.fr/english/viewtop ... 12&t=47455Shardik wrote:On Windows that would be very difficult using the Microsoft ListView control (which is4RESTER wrote:How to make ListIconGadget with the more that one CheckBox in Row?
the underlying basis of the ListIconGadget) even if using API functions. But RASHAD
has found a kind of "cheat" by using two ListIconGadgets appearing as a single one:
http://www.purebasic.fr/english/viewtop ... 12&t=47455
For Linux I posted an example in the German forum:
http://www.purebasic.fr/german/viewtopi ... 0&start=19

See ya... 
						
Re: More that one CheckBox in Row
Hi 4RESTER
The rest is yours mate you have to subclass the 2 ListIcons to manage the 1- Resizing
2- Vertical & horizontal Scroll 3- Events
Beside Using Windows CallBack and so on
Next with Fixed Column 0
			
			
									
									The rest is yours mate you have to subclass the 2 ListIcons to manage the 1- Resizing
2- Vertical & horizontal Scroll 3- Events
Beside Using Windows CallBack and so on
Next with Fixed Column 0
Code: Select all
Procedure WndProc(hwnd, uMsg, wParam, lParam)
result = #PB_ProcessPureBasicEvents 
Select uMsg
   
   Case #WM_NOTIFY,#WM_SETREDRAW
    *NMHDR.NMHDR = lParam  
      ; Fixed Column Width
       If IsGadget(1) And *NMHDR\hWndFrom = GetWindow_(GadgetID(1),#GW_CHILD) And *NMHDR\code = #HDN_FIRST
          *phdn.NMHEADER = lParam                  
              If *phdn\Iitem = 0
                    ProcedureReturn 1              
              EndIf   
       EndIf
         
       EndSelect
  ProcedureReturn result 
EndProcedure
  
  
  If OpenWindow(0, 0, 0, 640, 300, "ListIconGadgets", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ContainerGadget(0,10,25,620,260,#PB_Container_Flat)
    ListIconGadget(1,  0,  0, 140, 200, "Column 1", 139,#PB_ListIcon_GridLines|#PB_ListIcon_CheckBoxes)
    SetWindowLongPtr_(GadgetID(1),#GWL_EXSTYLE,0)
    SetGadgetColor(1,#PB_Gadget_BackColor,$EAFEFE)
    SetGadgetColor(1,#PB_Gadget_LineColor,$C5C5C5)
    ListIconGadget(2,  150,  0, 480, 200, "Column 2", 150,#PB_ListIcon_GridLines|#PB_ListIcon_CheckBoxes)
    SetWindowLongPtr_(GadgetID(2),#GWL_EXSTYLE,0)
    SetGadgetColor(2,#PB_Gadget_BackColor,$EAFEFE)
    SetGadgetColor(2,#PB_Gadget_LineColor,$C5C5C5)
      For i = 0 To 6
        AddGadgetItem(1, i, "Item 1")
      Next
      For i = 1 To 4
        AddGadgetColumn(2, i, "Column " + Str(i+2), 65)
      Next
      For i = 0 To 6
        AddGadgetItem(2, i, "Item 2"+Chr(10)+"Item 3"+Chr(10)+"Item 4"+Chr(10)+"Item 5"+Chr(10)+"Item 6")
      Next
      ResizeGadget(1,0,0,140,260)
      ResizeGadget(2,140,0,480,260)
      CloseGadgetList()
      
     SetWindowCallback(@WndProc())
    
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Egypt my love
						Re: More that one CheckBox in Row
Perhaps esGrid or exGrid will be apt for you: http://www.purecoder.net/grids/screenshots.htm
			
			
									
									
						Re: More that one CheckBox in Row
If exist the MoreListIconGadget UserLib for the PureBasic 4.5x/4.6x then also can help (for free).Foz wrote:Perhaps esGrid or exGrid will be apt for you: http://www.purecoder.net/grids/screenshots.htm
See ya... 
						



