Slider Disabled but re-enabled when SetSliderValue
Archives Forums/MaxGUI Bug Reports/Slider Disabled but re-enabled when SetSliderValue
| ||
SuperStrict Import maxgui.driverS Local window:tgadget=CreateWindow("test",10,10,200,200,,WINDOW_TITLEBAR|WINDOW_CENTER) Local slider:tgadget= CreateSlider(10,10,180,20,window,SLIDER_HORIZONTAL) Local label:tgadget= CreateLabel("...",10,50,180,20,window,LABEL_FRAME) Local text:tgadget= CreateTextField(10,90,180,20,window) DisableGadget label DisableGadget SLIDER DisableGadget text SetSliderValue SLIDER,2 SetGadgetText label,"Something new..." SetGadgetText text,"Something new..." Repeat WaitEvent() Select EventID() Case EVENT_APPTERMINATE, EVENT_WINDOWCLOSE End End Select Forever Is this behaviour normal? |
| ||
Ok, I think I've fixed Win32 only - win32maxgui.bmx Type TWindowsSlider Extends TWindowsGadget Method SetProp(value) Desensitize() Local tmpEnabled:Int = Not( State() & STATE_DISABLED ) Select _slidertype Case SLIDER_SCROLLBAR Local info:SCROLLINFO=New SCROLLINFO info.cbSize=SizeOf(SCROLLINFO) info.fMask=SIF_POS info.nPos=value SendMessageW _hwnd,SBM_SETSCROLLINFO,True,Int Byte Ptr info Case SLIDER_TRACKBAR If _ishorizontal Then SendMessageW _hwnd,TBM_SETPOS,True,value Else 'Flip the value so that the scale starts from the bottom SendMessageW _hwnd,TBM_SETPOS,True,_visible + _total - value EndIf Case SLIDER_STEPPER SendMessageW _hwnd,UDM_SETPOS,True,value End Select _value = value SetEnabled(tmpEnabled) Sensitize() EndMethod |