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

📄 chapter07checkbuttonwidget.pro

📁 idl 可视化分析与应用(随书程序)
💻 PRO
字号:
; Chapter07CheckButtonWidget.pro
PRO BeijingProcedure, event
  WIDGET_CONTROL, Event.Top, GET_UVALUE= pState
  MyString = STRARR(3)
  IF event.SELECT EQ 1 THEN BEGIN
     (*pState).MyBeijingButtonStatus = 1
     MyString[0] = 'Beijing is Selected!
  ENDIF ELSE BEGIN
     (*pState).MyBeijingButtonStatus = 0
     MyString[0] = 'Beijing is not Selected!
  ENDELSE
  IF (*pState).MyShanghaiButtonStatus EQ 1 THEN BEGIN
     MyString[1] = 'Shanghai is Selected!
  ENDIF ELSE BEGIN
     MyString[1] = 'Shanghai is not Selected!
  ENDELSE
  IF (*pState).MyHangzhouButtonStatus EQ 1 THEN BEGIN
     MyString[2] = 'Hangzhou is Selected!
  ENDIF ELSE BEGIN
     MyString[2] = 'Hangzhou is not Selected!
  ENDELSE
  Result = DIALOG_MESSAGE(MyString,/INFORMATION)
  WIDGET_CONTROL, Event.Top, SET_UVALUE= pState
END
PRO ShanghaiProcedure, event
  WIDGET_CONTROL, Event.Top, GET_UVALUE= pState
  MyString = STRARR(3)
  IF event.SELECT EQ 1 THEN BEGIN
     (*pState).MyShanghaiButtonStatus = 1
     MyString[0] = 'Shanghai is Selected!
  ENDIF ELSE BEGIN
     (*pState).MyShanghaiButtonStatus = 0
     MyString[0] = 'Shanghai is not Selected!
  ENDELSE
  IF (*pState).MyBeijingButtonStatus EQ 1 THEN BEGIN
     MyString[1] = 'Beijing is Selected!
  ENDIF ELSE BEGIN
     MyString[1] = 'Beijing is not Selected!
  ENDELSE
  IF (*pState).MyHangzhouButtonStatus EQ 1 THEN BEGIN
     MyString[2] = 'Hangzhou is Selected!
  ENDIF ELSE BEGIN
     MyString[2] = 'Hangzhou is not Selected!
  ENDELSE
  Result = DIALOG_MESSAGE(MyString,/INFORMATION)
  WIDGET_CONTROL, Event.Top, SET_UVALUE= pState
END
PRO HangzhouProcedure, event
  WIDGET_CONTROL, Event.Top, GET_UVALUE= pState
  MyString = STRARR(3)
  IF event.SELECT EQ 1 THEN BEGIN
     (*pState).MyHangzhouButtonStatus = 1
     MyString[0] = 'Hangzhou is Selected!
  ENDIF ELSE BEGIN
     (*pState).MyHangzhouButtonStatus = 0
     MyString[0] = 'Hangzhou is not Selected!
  ENDELSE
  IF (*pState).MyShanghaiButtonStatus EQ 1 THEN BEGIN
     MyString[1] = 'Shanghai is Selected!
  ENDIF ELSE BEGIN
     MyString[1] = 'Shanghai is not Selected!
  ENDELSE
  IF (*pState).MyBeijingButtonStatus EQ 1 THEN BEGIN
     MyString[2] = 'Beijing is Selected!
  ENDIF ELSE BEGIN
     MyString[2] = 'Beijing is not Selected!
  ENDELSE
  Result = DIALOG_MESSAGE(MyString,/INFORMATION)
  WIDGET_CONTROL, Event.Top, SET_UVALUE= pState
END
PRO ExitProcedure, event
  IF event.SELECT EQ 1 THEN BEGIN
    WIDGET_CONTROL, event.TOP, /DESTROY
  ENDIF
END
PRO Chapter07CheckButtonWidget
    MyBase =WIDGET_BASE(XSIZE=500,YSIZE=400, TITLE='MyBase')
    MyButtonBase = Widget_Base(MyBase, FRAME=1, /BASE_ALIGN_CENTER $
      ,XOFFSET=50 ,YOFFSET=50 ,XSIZE=400 ,YSIZE=150, /NONEXCLUSIVE, /ROW)

    MyBeijingButton = WIDGET_BUTTON(MyButtonBase, VALUE='Bei Jing',      $
               EVENT_PRO='BeijingProcedure', XSIZE=100, YSIZE=30, $
               XOFFSET=150, YOFFSET=100 )
    MyShanghaiButton = WIDGET_BUTTON(MyButtonBase, VALUE='Shang Hai',      $
               EVENT_PRO='ShanghaiProcedure', XSIZE=100, YSIZE=30, $
               XOFFSET=150, YOFFSET=150 )
    MyGuangzhouButton = WIDGET_BUTTON(MyButtonBase, VALUE='Hang Zhou',      $
               EVENT_PRO='HangzhouProcedure', XSIZE=100, YSIZE=30, $
               XOFFSET=150, YOFFSET=200 )
    MyExitButton = WIDGET_BUTTON(MyButtonBase, VALUE='EXIT',       $
               EVENT_PRO='ExitProcedure', XSIZE=100, YSIZE=30, $
               XOFFSET=150, YOFFSET=250 )
    WIDGET_CONTROL, MyBase, /REALIZE
    pState = PTR_NEW({        $
        MyBeijingButton: MyBeijingButton,       $
        MyShanghaiButton: MyShanghaiButton,     $
        MyGuangzhouButton: MyGuangzhouButton,   $
        MyBeijingButtonStatus: 0,               $
        MyShanghaiButtonStatus: 0,              $
        MyHangzhouButtonStatus: 0               $
     })
    WIDGET_CONTROL, MyBase, SET_UVALUE=pState
    XMANAGER, 'Chapter07CheckButtonWidget', MyBase
END

⌨️ 快捷键说明

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