Page 1 of 1

Posted: Wed Sep 02, 2009 6:11 pm
by Alireza
oh, i need same code for a SetSortedCombobox after executed my project:

Work:

Code: Select all

; http://www.purebasic.com
; Author: Andre Beer (updated for PB4.00 by blbltheworm)
; Date: 27. May 2003
; OS: Windows
; Demo: No

If OpenWindow(0,100,130,220,100,"ComboBox Sorted",#PB_Window_SystemMenu)
  If WindowID(0)
    cb.l = ComboBoxGadget(1,10,10,200,25,#CBS_SORT) 
    SendMessage_(cb,#CB_ADDSTRING,0,"3")    ; the items will be added in random order
    SendMessage_(cb,#CB_ADDSTRING,0,"4") 
    SendMessage_(cb,#CB_ADDSTRING,0,"1")    ; .... but they will be displayed in sorted order
    SendMessage_(cb,#CB_ADDSTRING,0,"2") 
  EndIf
  Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf

; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -
; EnableXP
Don't work:

Code: Select all

; http://www.purebasic.com
; Author: Andre Beer (updated for PB4.00 by blbltheworm)
; Date: 27. May 2003
; OS: Windows
; Demo: No

If OpenWindow(0,100,130,220,100,"ComboBox Sorted",#PB_Window_SystemMenu)
  If WindowID(0)
    cb.l = ComboBoxGadget(1,10,10,200,25) 
    ;------------------
     SetWindowLong_(GadgetID(1), #GWL_STYLE, GetWindowLong_(GadgetID(1), #GWL_STYLE) | #CBS_SORT);<<<<<<<<<<<<<<<<<<<<<<
    ;------------------
    SendMessage_(cb,#CB_ADDSTRING,0,"3")    ; the items will be added in random order
    SendMessage_(cb,#CB_ADDSTRING,0,"4") 
    SendMessage_(cb,#CB_ADDSTRING,0,"1")    ; .... but they will be displayed in sorted order
    SendMessage_(cb,#CB_ADDSTRING,0,"2") 
  EndIf
  Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf

; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -
; EnableXP
Masters ,Help
Merci

Posted: Wed Sep 02, 2009 6:18 pm
by srod
Many styles cannot be set (or unset) after the control is created. I would guess that this is one such style.

Posted: Wed Sep 02, 2009 6:22 pm
by Alireza
Ok, then i think must be a lot of fortune in hand :D
Thanks srod