Page 1 of 1

Set "#ES_LOWERCASE" for StringGadget in Runtime

Posted: Fri Aug 28, 2009 2:19 pm
by +18
how can i set #ES_LOWERCASE flag for StringGadget in Runtime?
I use below code , made error only

Code: Select all

OpenWindow(0,0,0,100,100,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
 StringGadget(0,25,37,70,25,"")
 SendMessage_(GadgetID(0), #ES_LOWERCASE, 0, 0)
 SetActiveGadget(0)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

Posted: Fri Aug 28, 2009 2:22 pm
by +18
And too, possible it set a group of flags in runtime.

Code: Select all

GroupFlags = #ES_MULTILINE|#ES_AUTOVSCROLL|#WS_VSCROLL|#WS_HSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT
please a sample if it's possible
Thankful

Posted: Fri Aug 28, 2009 2:28 pm
by srod

Code: Select all

OpenWindow(0,0,0,100,100,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) 
 StringGadget(0,25,37,70,25,"") 
 SetWindowLong_(GadgetID(0), #GWL_STYLE, GetWindowLong_(GadgetID(0), #GWL_STYLE)|#ES_LOWERCASE) 
 SetActiveGadget(0) 
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Works on Vista - not sure about XP ?

Posted: Fri Aug 28, 2009 2:32 pm
by +18
Thanks srod :D
work on XP excellent

Posted: Sat Aug 29, 2009 8:05 am
by Kwai chang caine
Hello SROD :D

Cool this tips 8)

But it create a question in my head :roll:
Is it possible to cancel this function in runtime ???

Posted: Sat Aug 29, 2009 8:37 am
by gnozal
Kwaï chang caïne wrote:Is it possible to cancel this function in runtime ???
Add style : Bitwise OR #Style

Code: Select all

 SetWindowLong_(GadgetID(x), #GWL_STYLE, GetWindowLong_(GadgetID(x), #GWL_STYLE) | #MyStyle)
Remove style : Bitwise AND NOT (#Style)

Code: Select all

 SetWindowLong_(GadgetID(x), #GWL_STYLE, GetWindowLong_(GadgetID(x), #GWL_STYLE) & ~#MyStyle)
http://www.purebasic.com/documentation/ ... ables.html

Posted: Mon Aug 31, 2009 10:59 am
by Kwai chang caine
Yeeeaaaahhh again more cool :D
And the best miracle, it's that KCC have understand :D

Thanks too for your tips GNOZAL
My life for 10% of your knowledge 8)

I wish you a good good day

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