⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chapter07sliderwidget.pro

📁 idl 可视化分析与应用(随书程序)
💻 PRO
字号:
; Chapter07SliderWidget.pro
PRO RProcedure, event
  WIDGET_CONTROL, Event.Top, GET_UVALUE= pState
  WIDGET_CONTROL, (*pState).MySliderR, GET_VALUE=RValue
  WIDGET_CONTROL, (*pState).MySliderG, GET_VALUE=GValue
  WIDGET_CONTROL, (*pState).MySliderB, GET_VALUE=BValue
  MyStatus = 'RColor:'+ STRTRIM(STRING(RValue),2) +'  '+ $
             'GColor:'+ STRTRIM(STRING(GValue),2) +'  '+ $
             'BColor:'+ STRTRIM(STRING(BValue),2)
  WIDGET_CONTROL, (*pState).MyLabel, SET_VALUE=MyStatus
  WIDGET_CONTROL, Event.Top, SET_UVALUE= pState
END
PRO GProcedure, event
  WIDGET_CONTROL, Event.Top, GET_UVALUE= pState
  WIDGET_CONTROL, (*pState).MySliderR, GET_VALUE=RValue
  WIDGET_CONTROL, (*pState).MySliderG, GET_VALUE=GValue
  WIDGET_CONTROL, (*pState).MySliderB, GET_VALUE=BValue
  MyStatus = 'RColor:' + STRTRIM(STRING(RValue),2) +'  '+ $
             'GColor:' + STRTRIM(STRING(GValue),2) +'  '+ $
             'BColor:' + STRTRIM(STRING(BValue),2)
  WIDGET_CONTROL, (*pState).MyLabel, SET_VALUE=MyStatus
  WIDGET_CONTROL, Event.Top, SET_UVALUE= pState
END
PRO BProcedure, event
  WIDGET_CONTROL, Event.Top, GET_UVALUE= pState
  WIDGET_CONTROL, (*pState).MySliderR, GET_VALUE=RValue
  WIDGET_CONTROL, (*pState).MySliderG, GET_VALUE=GValue
  WIDGET_CONTROL, (*pState).MySliderB, GET_VALUE=BValue
  MyStatus = 'RColor:' + STRTRIM(STRING(RValue),2) +'  '+ $
             'GColor:' + STRTRIM(STRING(GValue),2) +'  '+ $
             'BColor:' + STRTRIM(STRING(BValue),2)
  WIDGET_CONTROL, (*pState).MyLabel, SET_VALUE=MyStatus
  WIDGET_CONTROL, Event.Top, SET_UVALUE= pState
END
PRO ExitProcedure, event
    WIDGET_CONTROL, event.TOP, /DESTROY
END
PRO Chapter07SliderWidget
    MyBase =WIDGET_BASE(XSIZE=500,YSIZE=236, TITLE='MyBase')
    MySliderR = WIDGET_SLIDER(MyBase, MINIMUM = 0, $
              MAXIMUM = 255, TITLE = 'R Color', $
              /FRAME, UVALUE = 'SLIDE', XSIZE = 300, $
              XOFFSET=100, YOFFSET=20,EVENT_PRO='RProcedure')
    MySliderG = WIDGET_SLIDER(MyBase, MINIMUM = 0, $
              MAXIMUM = 255, TITLE = 'G Color', $
              /FRAME, UVALUE = 'SLIDE', XSIZE = 300, $
              XOFFSET=100, YOFFSET=60,EVENT_PRO='GProcedure')
    MySliderB = WIDGET_SLIDER(MyBase, MINIMUM = 0, $
              MAXIMUM = 255, TITLE = 'B Color', $
              /FRAME, UVALUE = 'SLIDE', XSIZE = 300, $
              XOFFSET=100, YOFFSET=100,EVENT_PRO='BProcedure')
    MyExit = WIDGET_BUTTON(MyBase, VALUE='Exit',        $
               EVENT_PRO='ExitProcedure', XSIZE=100, YSIZE=30,$
               XOFFSET=200, YOFFSET=150 )
    MyLabel = WIDGET_LABEL(MyBase, XOFFSET=10, SCR_XSIZE=480, $
               YOFFSET=200,SCR_YSIZE=20,/SUNKEN_FRAME,        $
               VALUE='Happy You!', /ALIGN_CENTER)
    WIDGET_CONTROL, MyBase, /REALIZE
    pState = PTR_NEW({ MyLabel: MyLabel,       $
                       MySliderR: MySliderR,   $
                       MySliderG: MySliderG,   $
                       MySliderB: MySliderB    $
                    })
    WIDGET_CONTROL, MyBase, SET_UVALUE=pState
    XMANAGER, 'Chapter07SliderWidget', MyBase
END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -