SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 1"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 2"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 3"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 4"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_RESETCONTENT, 0, 0
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 1"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 2" 
      REM. Modified Program to demonstrate combobox event handling
      INSTALL @lib$+"WINLIB"
      INSTALL @lib$+"WINLIB2"
      INSTALL @lib$+"WINLIB3"
      INSTALL @lib$+"WINLIB5"
      INSTALL @lib$+"WINLIB5A"
      INSTALL @lib$+"NOWAIT"
      INSTALL @lib$+"EVENTLIB"
      CBN_DROPDOWN = 7
      BS_DEFPUSHBUTTON = &1
      CB_ADDSTRING = &143
      CB_SETCURSEL = &14E
      CB_RESETCONTENT = &14B
      CBS_DROPDOWNLIST = &3
      ES_AUTOHSCROLL = &80
      ES_NUMBER = &2000
      LB_ADDSTRING = &180
      LB_GETCURSEL = &188
      UDM_SETRANGE = &465
      UDS_ALIGNRIGHT = &4
      UDS_AUTOBUDDY = &10
      UDS_SETBUDDYINT = &2
      WS_CHILD = &40000000
      WS_GROUP = &20000
      WS_VISIBLE = &10000000
      WM_COMMAND = 273
      dlg%=FN_newdialog("Dialogue box", 20, 20, 160, 128, 8, 560)
      PROC_groupbox(dlg%, "Group box", 0, 4, 4, 152, 96, WS_GROUP)
      PROC_editbox(dlg%, "Text box", 101, 12, 20, 64, 12, ES_AUTOHSCROLL)
      PROC_editbox(dlg%, "123456", 102, 82, 20, 64, 12, ES_NUMBER)
      PROC_dlgctrl(dlg%, "", 109, 0, 0, 12, 12, WS_VISIBLE OR WS_CHILD OR \
      \ UDS_AUTOBUDDY OR UDS_ALIGNRIGHT OR UDS_SETBUDDYINT, "msctls_updown32")
      PROC_combobox(dlg%, "", 103, 12, 40, 64, 60, CBS_DROPDOWNLIST)
      PROC_listbox(dlg%, "", 104, 82, 40, 64, 48, 0)
      PROC_radiobutton(dlg%, "Radiobutton 1", 105, 12, 64, 64, 10, 0)
      PROC_radiobutton(dlg%, "Radiobutton 2", 106, 12, 82, 64, 10, 0)
      PROC_checkbox(dlg%, "Checkbox", 107, 82, 82, 64, 10, 0)
      PROC_pushbutton(dlg%, "OK", 1, 12, 108, 56, 14, WS_GROUP OR BS_DEFPUSHBUTTON)
      PROC_pushbutton(dlg%, "Cancel", 2, 92, 108, 56, 14, 0)
      PROC_showdialog(dlg%)
      ON CLOSE PROC_closedialog(dlg%):QUIT
      ON ERROR PROC_closedialog(dlg%):PRINT'REPORT$:END
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 1"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 2"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 3"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 4"
      SYS "SendDlgItemMessage", !dlg%, 103, CB_SETCURSEL, 0, 0
      SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "Listbox item 0"
      SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "Listbox item 1"
      SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "Listbox item 2"
      SYS "SendDlgItemMessage", !dlg%, 104, LB_ADDSTRING, 0, "Listbox item 3"
      SYS "CheckRadioButton", !dlg%, 105, 106, 105
      SYS "SendDlgItemMessage", !dlg%, 109, UDM_SETRANGE, 0, 999
      PROC_eventinit
      PROC_eventregister(WM_COMMAND, PROCcontrolclick())
      REPEAT
        PROC_eventpoll
        WAIT 1
      UNTIL FALSE
      DEF PROCcontrolclick(M%, W%, L%)
      LOCAL controlID%, notificationCode%
      controlID% = W% AND &FFFF
      notificationCode% = W% >> 16
      CASE controlID% OF
        WHEN 103 :
          IF notificationCode% = CBN_DROPDOWN THEN
            SYS "SendDlgItemMessage", !dlg%, 103, CB_RESETCONTENT, 0, 0
            SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 5"
            SYS "SendDlgItemMessage", !dlg%, 103, CB_ADDSTRING, 0, "Combobox 6"
            SYS "SendDlgItemMessage", !dlg%, 103, CB_SETCURSEL, 0, 0
          ENDIF
      ENDCASE
      ENDPROC
      END