{ ========================================================
Standalone Dialog Example - Mike Ghan 1/3/2002 6:56PM
Re-using SF's Toolbar & Menu
========================================================= }
Function: DrawMenuBar ( hWnd -- res )
DIALOG DLG-TMPL
[MODAL " Test Dialog" 20 20 300 70
(CLASS SFDLG) (FONT 8, MS Sans Serif)
(+STYLE WS_SYSMENU DS_CENTER) ]
[DEFPUSHBUTTON " OK" IDOK 4 40 40 14 ]
[PUSHBUTTON " Cancel" IDCANCEL 94 40 40 14 ]
[RTEXT " # of Widgets" 101 4 20 64 10 ]
[EDITTEXT 102 72 20 36 10 ]
END-DIALOG
CONSOLE-WINDOW +ORDER \ So we can access SF's toolbar
GENERICDIALOG SUBCLASS TEST-DIALOG
: TEMPLATE ( -- addr ) DLG-TMPL ;
: INIT-MENU ( -- )
HWND MAIN-MENU :: LoadMenuIndirect :: SetMenu DROP
HWND :: DrawMenuBar DROP ;
WM_INITDIALOG MESSAGE: ( -- res )
INIT-MENU
CREATE-SF-TOOLBAR
RESIZE-SF-TOOLBAR
TRUE ( Windows sets focus ) ;
IDOK COMMAND: ( -- )
;
IDCANCEL COMMAND:
\ 0 CLOSE-DIALOG \ Uncomment to test from console
'ONSYSEXIT CALLS \ Execute System Exit Chain
0 :: ExitProcess ;
END-CLASS
CONSOLE-WINDOW -ORDER \ Done w SF's toolbar
TEST-DIALOG BUILDS MY-DLG
: TESTER
GetDesktopWindow MY-DLG MODELESS ( hWnd )
DUP SW_NORMAL ShowWindow DROP ( hWnd ) UpdateWindow DROP ;
: WINMAIN
TESTER
DISPATCHER ( The classic Windows Message Loop ) ;
\ Save App
' WINMAIN 'MAIN !
-1 THRESHOLD \ No Xref file
PROGRAM SAMPLE.EXE
BYE