REM +++++ DLGDEMO, modified to open a child window
REM. Program to demonstrate a Dialogue Box
INSTALL @lib$+"WINLIB2"
BS_DEFPUSHBUTTON = &1
CB_ADDSTRING = &143
CB_SETCURSEL = &14E
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
REM +++++++++++++++++++++++++++++++++++++++ new code:
SW_SHOW = 5
SW_HIDE = 0
dlg%=FN_newdialog("Dialogue box", 20, 20, 160, 128, 8, 32768)
INSTALL @lib$+"WINLIB5A"
WS_POPUP = &80000000
style% = WS_CHILD + WS_VISIBLE + WS_POPUP
hwndChild%=FN_createwindow(dlg%, "","CHILD WINDOW",style%, 20, 20, 260, 100, 200,2000)
REM +++++++++++++++++++++++++++++++++++++++
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
Click%=0
ON SYS Click% = @wparam% : RETURN
REPEAT
WAIT 1
click%=0
SWAP Click%, click%
UNTIL click%=1 OR click%=2 OR !dlg%=0
IF click%=1 THEN
REM +++++++++++++++++++++++++++++++++++++++ new code:
SYS "ShowWindow", hwndChild%, SW_SHOW
SYS "MessageBox", @hwnd%, "Child should be open by now", "",0
REM +++++++++++++++++++++++++++++++++++++++
ELSE
PRINT "Cancel pressed"
ENDIF
PROC_closedialog(dlg%)
END