CheckBox 4 Windows

Share your advanced PureBasic knowledge/code with the community.
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4659
Joined: Sun Apr 12, 2009 6:27 am

CheckBox 4 Windows

Post by RASHAD »

Hi all
No Windows CallBack
No SubClassing

Code: Select all

#BST_UNCHECKED       = $0000
#BST_CHECKED            = $0001
#BST_INDETERMINATE  = $0002
#BST_PUSHED              = $0004
#BST_FOCUS                = $0008

;SendMessage(CheckBox, #BM_SETCHECK, #BST_CHECKED, 0)
;SendMessage(CheckBox, #BM_GETCHECK, 0, 0)

If OpenWindow(0, 0, 0, 280, 100, "CheckBox Demo", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

  CheckBoxGadget(0, 10, 10, 80,20,"CheckBox #1",#SS_NOTIFY)  
  CheckBoxGadget(1, 10, 50, 80,20,"CheckBox #2",#SS_NOTIFY)
  
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Quit = 1
      
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 0
          Debug SendMessage_(GadgetID(0) , #BM_GETCHECK, 0, 0)
          
        Case 1
          Debug SendMessage_(GadgetID(1) , #BM_GETCHECK, 0, 0)
      EndSelect

  EndSelect
Until Quit = 1
EndIf
Egypt my love
User avatar
Lord
Addict
Addict
Posts: 849
Joined: Tue May 26, 2009 2:11 pm

Re: CheckBox 4 Windows

Post by Lord »

Hi Rashad!

Hm, what's the advantage of your code over this one?

Code: Select all

If OpenWindow(0, 0, 0, 280, 100, "CheckBox Demo", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  CheckBoxGadget(0, 10, 10, 80,20,"CheckBox #1") 
  CheckBoxGadget(1, 10, 50, 80,20,"CheckBox #2")
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Quit = 1
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 0
            Debug GetGadgetState(0)
          Case 1
            Debug GetGadgetState(1)
        EndSelect
    EndSelect
  Until Quit = 1
EndIf
Image
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4659
Joined: Sun Apr 12, 2009 6:27 am

Re: CheckBox 4 Windows

Post by RASHAD »

Hi Lord
Nothing
It is mainly for old versions of PB and API CheckBox
I just noticed that there is a version using Windows Callback by NM
And another version by nco2k using subclassing
Just to complete searching :)

Code: Select all

#BST_UNCHECKED      = $0000
#BST_CHECKED        = $0001
#BST_INDETERMINATE  = $0002
#BST_PUSHED         = $0004
#BST_FOCUS          = $0008

;SendMessage(CheckBox, BM_SETCHECK, BST_CHECKED, 0)
;SendMessage(CheckBox, BM_GETCHECK, 0, 0)

If OpenWindow(0, 0, 0, 280, 100, "CheckBox Demo", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  CheckBox = CreateWindowEx_(0, "BUTTON", "Hello",#WS_CHILD | #WS_VISIBLE | #BS_AUTOCHECKBOX,10, 10, 100, 20, WindowID(0), 0, GetModuleHandle_(0), 0)
 
  ButtonGadget(1,10,50,60,20,"RUN")
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Quit = 1
      
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 1
          Debug SendMessage_(CheckBox , #BM_GETCHECK, 0, 0)
      EndSelect

  EndSelect
Until Quit = 1
EndIf
Egypt my love
User avatar
Lord
Addict
Addict
Posts: 849
Joined: Tue May 26, 2009 2:11 pm

Re: CheckBox 4 Windows

Post by Lord »

Hi Rashad!
RASHAD wrote:...
Nothing
It is mainly for old versions of PB and API CheckBox
I just noticed that there is a version using Windows Callback by NM
And another version by nco2k using subclassing
Just to complete searching :)
...
Ah, I understand. Thank you for clarification.
Image
Post Reply