From: Dirk B. <db...@us...> - 2006-05-25 09:22:38
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv30984/doc Modified Files: p-index.htm w32f-glossary.csv Added Files: p-callback.htm Log Message: A little documentation for callbacks added. Index: w32f-glossary.csv =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/w32f-glossary.csv,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** w32f-glossary.csv 20 Feb 2006 12:32:44 -0000 1.9 --- w32f-glossary.csv 25 May 2006 09:22:35 -0000 1.10 *************** *** 62,97 **** "SetOrigin:","x y --","","METHOD","Window","Window.htm#10" "StartPos:","-- left top","","METHOD","Window","Window.htm#11" ! "On_Init:","--","","METHOD","Window","Window.htm#12" ! "On_Done:","--","","METHOD","Window","Window.htm#13" ! "SetClassName:","adr len --","","METHOD","Window","Window.htm#14" ! "GetClassName:","-- adr len","","METHOD","Window","Window.htm#15" ! "SetParent:","hwndParent --","","METHOD","Window","Window.htm#16" ! "ParentWindow:","-- hwndparent | 0 if no parent","","METHOD","Window","Window.htm#17" ! "DefaultCursor:","-- cursor-id","","METHOD","Window","Window.htm#18" ! "DefaultIcon:","-- hIcon","","METHOD","Window","Window.htm#19" ! "WindowStyle:","-- style","","METHOD","Window","Window.htm#20" ! "ExWindowStyle:","-- extended_style","","METHOD","Window","Window.htm#21" ! "WindowTitle:","-- Zstring","","METHOD","Window","Window.htm#22" ! "&ps","","","RECORD:","Window","Window.htm#24" ! "On_EraseBackground:","hwnd msg wparam lparam -- res","","METHOD","Window","Window.htm#25" ! "On_Paint:","--","","METHOD","Window","Window.htm#26" ! "WindowHasMenu:","-- flag","","METHOD","Window","Window.htm#27" ! "MoveCursor:","gx gy --","","METHOD","Window","Window.htm#28" ! "MakeCursor:","gx gy width height --","","METHOD","Window","Window.htm#29" ! "DestroyCursor:","--","","METHOD","Window","Window.htm#30" ! "ShowCursor:","--","","METHOD","Window","Window.htm#31" ! "HideCursor:","--","","METHOD","Window","Window.htm#32" ! "On_SetFocus:","h m w l --","","METHOD","Window","Window.htm#33" ! "On_KillFocus:","h m w l --","","METHOD","Window","Window.htm#34" ! "PushKey:","c1 --","","METHOD","Window","Window.htm#35" ! "Win32Forth:","h m w l --","","METHOD","Window","Window.htm#36" ! "DefWindowProc:","h m w l -- res","","METHOD","Window","Window.htm#37" ! "CenterWindow:","-- x y","","METHOD","Window","Window.htm#38" ! "Enable:","f1 --","","METHOD","Window","Window.htm#39" ! "GetWindowRect:","-- left top right bottom","","METHOD","Window","Window.htm#40" ! "SetTitle:","adr len \ temp$ --","","METHOD","Window","Window.htm#41" ! "find-window","z""a1 -- hWnd","w32f","COLON","","Window.htm#43" ! "send-window","lParam wParam Message_ID hWnd --","w32f","COLON","","Window.htm#44" ! "LoadIconFile","adr len -- hIcon","w32f","COLON","","Window.htm#45" "TrayWindow","","","CLASS","","TrayWindow.htm#0" "DefaultIcon:","-- hIcon","","METHOD","TrayWindow","TrayWindow.htm#1" --- 62,101 ---- "SetOrigin:","x y --","","METHOD","Window","Window.htm#10" "StartPos:","-- left top","","METHOD","Window","Window.htm#11" ! "SetClassLong:","long offset --","","METHOD","Window","Window.htm#12" ! "GetClassLong:","offset -- long","","METHOD","Window","Window.htm#13" ! "WndClassStyle:","-- style","","METHOD","Window","Window.htm#14" ! "Start:","--","","METHOD","Window","Window.htm#15" ! "On_Init:","--","","METHOD","Window","Window.htm#16" ! "On_Done:","--","","METHOD","Window","Window.htm#17" ! "SetClassName:","addr len --","","METHOD","Window","Window.htm#18" ! "GetClassName:","-- addr len","","METHOD","Window","Window.htm#19" ! "SetParent:","Parent --","","METHOD","Window","Window.htm#20" ! "ParentWindow:","-- Parent | 0 if no parent","","METHOD","Window","Window.htm#21" ! "DefaultCursor:","-- cursor-id","","METHOD","Window","Window.htm#22" ! "DefaultIcon:","-- hIcon","","METHOD","Window","Window.htm#23" ! "WindowStyle:","-- style","","METHOD","Window","Window.htm#24" ! "ExWindowStyle:","-- extended_style","","METHOD","Window","Window.htm#25" ! "WindowTitle:","-- Zstring","","METHOD","Window","Window.htm#26" ! "&ps","","","RECORD:","Window","Window.htm#28" ! "On_EraseBackground:","hwnd msg wparam lparam -- res","","METHOD","Window","Window.htm#29" ! "On_Paint:","--","","METHOD","Window","Window.htm#30" ! "WindowHasMenu:","-- flag","","METHOD","Window","Window.htm#31" ! "MoveCursor:","gx gy --","","METHOD","Window","Window.htm#32" ! "MakeCursor:","gx gy width height --","","METHOD","Window","Window.htm#33" ! "DestroyCursor:","--","","METHOD","Window","Window.htm#34" ! "ShowCursor:","--","","METHOD","Window","Window.htm#35" ! "HideCursor:","--","","METHOD","Window","Window.htm#36" ! "On_SetFocus:","h m w l --","","METHOD","Window","Window.htm#37" ! "On_KillFocus:","h m w l --","","METHOD","Window","Window.htm#38" ! "PushKey:","c1 --","","METHOD","Window","Window.htm#39" ! "Win32Forth:","h m w l --","","METHOD","Window","Window.htm#40" ! "DefWindowProc:","h m w l -- res","","METHOD","Window","Window.htm#41" ! "CenterWindow:","-- x y","","METHOD","Window","Window.htm#42" ! "Enable:","f1 --","","METHOD","Window","Window.htm#43" ! "GetWindowRect:","-- left top right bottom","","METHOD","Window","Window.htm#44" ! "SetTitle:","adr len \ temp$ --","","METHOD","Window","Window.htm#45" ! "find-window","z""a1 -- hWnd","w32f","COLON","","Window.htm#47" ! "send-window","lParam wParam Message_ID hWnd --","w32f","COLON","","Window.htm#48" ! "LoadIconFile","adr len -- hIcon","w32f","COLON","","Window.htm#49" "TrayWindow","","","CLASS","","TrayWindow.htm#0" "DefaultIcon:","-- hIcon","","METHOD","TrayWindow","TrayWindow.htm#1" *************** *** 110,116 **** "GetID:","-- n","","METHOD","Child-Window","Childwnd.htm#3" "WindowStyle:","-- style","","METHOD","Child-Window","Childwnd.htm#4" ! "ExWindowStyle:","-- extended_style","","METHOD","Child-Window","Childwnd.htm#5" ! "WindowTitle:","-- Zstring","","METHOD","Child-Window","Childwnd.htm#6" ! "Start:","Parent --","","METHOD","Child-Window","Childwnd.htm#7" "dialogID?","hdr ID -- f","","COLON","","Dialog.htm#0" "find-dialog-ID","id addr -- address-of-template-header","","COLON","","Dialog.htm#1" --- 114,119 ---- "GetID:","-- n","","METHOD","Child-Window","Childwnd.htm#3" "WindowStyle:","-- style","","METHOD","Child-Window","Childwnd.htm#4" ! "WindowTitle:","-- Zstring","","METHOD","Child-Window","Childwnd.htm#5" ! "Start:","Parent --","","METHOD","Child-Window","Childwnd.htm#6" "dialogID?","hdr ID -- f","","COLON","","Dialog.htm#0" "find-dialog-ID","id addr -- address-of-template-header","","COLON","","Dialog.htm#1" *************** *** 417,503 **** "VTrackBar","","","CLASS","","Controls.htm#262" "WindowStyle:","-- style","","METHOD","VTrackBar","Controls.htm#263" ! "Statusbar","","","CLASS","","Controls.htm#265" ! "ClassInit:","--","","METHOD","Statusbar","Controls.htm#266" ! "AddStyle:","n --","","METHOD","Statusbar","Controls.htm#267" ! "Start:","Parent --","","METHOD","Statusbar","Controls.htm#268" ! "WindowStyle:","-- style","","METHOD","Statusbar","Controls.htm#269" ! "RaisedBorder:","--","","METHOD","Statusbar","Controls.htm#270" ! "NoBorder:","--","","METHOD","Statusbar","Controls.htm#271" ! "SunkenBorder:","--","","METHOD","Statusbar","Controls.htm#272" ! "ClassInit:","--","","METHOD","Statusbar","Controls.htm#273" ! "MinHeight:","#pixels --","","METHOD","Statusbar","Controls.htm#274" ! "GetBorders:","-- hWidth vWidth divWidth","","METHOD","Statusbar","Controls.htm#275" ! "Redraw:","--","","METHOD","Statusbar","Controls.htm#276" ! "SetText:","szText --","","METHOD","Statusbar","Controls.htm#277" ! "Clear:","--","","METHOD","Statusbar","Controls.htm#278" ! "Setfont:","handle --","","METHOD","Statusbar","Controls.htm#279" ! "MultiStatusbar","","","CLASS","","Controls.htm#281" ! "Start:","Parent --","","METHOD","MultiStatusbar","Controls.htm#282" ! "SetParts:","aWidths nParts --","","METHOD","MultiStatusbar","Controls.htm#283" ! "GetParts:","-- aWidths nParts","","METHOD","MultiStatusbar","Controls.htm#284" ! "SetSimple:","--","","METHOD","MultiStatusbar","Controls.htm#285" ! "SetMulti:","--","","METHOD","MultiStatusbar","Controls.htm#286" ! "SetText:","szText n --","","METHOD","MultiStatusbar","Controls.htm#287" ! "BitmapButton","","","CLASS","","Controls.htm#289" ! "ClassInit:","--","","METHOD","BitmapButton","Controls.htm#290" ! "WindowStyle:","-- style","","METHOD","BitmapButton","Controls.htm#291" ! "IconButton","","","CLASS","","Controls.htm#293" ! "ClassInit:","--","","METHOD","IconButton","Controls.htm#294" ! "WindowStyle:","-- style","","METHOD","IconButton","Controls.htm#295" ! "SetIcon:","hIcon --","","METHOD","IconButton","Controls.htm#296" ! "GetIcon:","-- hIcon","","METHOD","IconButton","Controls.htm#297" ! "ScrollBar","","","|CLASS","","Controls.htm#299" ! "ClassInit:","--","","METHOD","ScrollBar","Controls.htm#300" ! "WindowStyle:","-- style","","METHOD","ScrollBar","Controls.htm#301" ! "AddStyle:","n --","","METHOD","ScrollBar","Controls.htm#302" ! "Start:","Parent --","","METHOD","ScrollBar","Controls.htm#303" ! "SetFont:","hndl --","","METHOD","ScrollBar","Controls.htm#304" ! "Enable:","f --","","METHOD","ScrollBar","Controls.htm#305" ! "Disable:","--","","METHOD","ScrollBar","Controls.htm#306" ! "HorizScroll","","","CLASS","","Controls.htm#307" ! "WindowStyle:","-- style","","METHOD","HorizScroll","Controls.htm#308" ! "VertScroll","","","CLASS","","Controls.htm#310" ! "WindowStyle:","-- style","","METHOD","VertScroll","Controls.htm#311" ! "SizeBox","","","CLASS","","Controls.htm#313" ! "WindowStyle:","-- style","","METHOD","SizeBox","Controls.htm#314" ! "MonthCalendar","","","CLASS","","Controls.htm#316" ! "ClassInit:","--","","METHOD","MonthCalendar","Controls.htm#317" ! "AddStyle:","n --","","METHOD","MonthCalendar","Controls.htm#318" ! "Start:","Parent --","","METHOD","MonthCalendar","Controls.htm#319" ! "MinSize:","-- x y","","METHOD","MonthCalendar","Controls.htm#320" ! "WindowStyle:","-- style","","METHOD","MonthCalendar","Controls.htm#321" ! "GetDate:","-- day month year","","METHOD","MonthCalendar","Controls.htm#322" ! "GetToday:","-- day month year","","METHOD","MonthCalendar","Controls.htm#323" ! "DateTimePicker","","","CLASS","","Controls.htm#325" ! "ClassInit:","--","","METHOD","DateTimePicker","Controls.htm#326" ! "AddStyle:","n --","","METHOD","DateTimePicker","Controls.htm#327" ! "Start:","Parent --","","METHOD","DateTimePicker","Controls.htm#328" ! "WindowStyle:","-- style","","METHOD","DateTimePicker","Controls.htm#329" ! "SetCustomFormat:","z""format"" --","","METHOD","DateTimePicker","Controls.htm#330" ! "GetTime:","-- hrs min secs","","METHOD","DateTimePicker","Controls.htm#331" ! "SetTime:","hr min sec --","","METHOD","DateTimePicker","Controls.htm#332" ! "GetDate:","-- day month year","","METHOD","DateTimePicker","Controls.htm#333" ! "TabControl","","","CLASS","","Controls.htm#335" ! "Start:","Parent --","","METHOD","TabControl","Controls.htm#336" ! "ClassInit:","--","","METHOD","TabControl","Controls.htm#337" ! "WindowStyle:","-- style","","METHOD","TabControl","Controls.htm#338" ! "AddStyle:","n --","","METHOD","TabControl","Controls.htm#339" ! "InsertTab:","index --","","METHOD","TabControl","Controls.htm#340" ! "GetTabInfo:","index --","","METHOD","TabControl","Controls.htm#341" ! "SetTabInfo:","index --","","METHOD","TabControl","Controls.htm#342" ! "ClientSize:","-- x y w h","","METHOD","TabControl","Controls.htm#343" ! "WindowSize:","0 0 width height -- x y w h","","METHOD","TabControl","Controls.htm#344" ! "Enable:","f --","","METHOD","TabControl","Controls.htm#345" ! "Disable:","--","","METHOD","TabControl","Controls.htm#346" ! "Setfont:","handle --","","METHOD","TabControl","Controls.htm#347" ! "WindowTitle:","-- null$","","METHOD","TabControl","Controls.htm#348" ! "VertButtonBar","","","CLASS","","Controls.htm#350" ! "SetFont:","fonthndl \ hb1 --","","METHOD","VertButtonBar","Controls.htm#351" ! "Enable:","flag \ hb1 --","","METHOD","VertButtonBar","Controls.htm#352" ! "Disable:","--","","METHOD","VertButtonBar","Controls.htm#353" ! "HorizButtonBar","","","CLASS","","Controls.htm#355" ! "SetFont:","fonthndl \ hb1 --","","METHOD","HorizButtonBar","Controls.htm#356" ! "Enable:","flag \ hb1 --","","METHOD","HorizButtonBar","Controls.htm#357" ! "Disable:","--","","METHOD","HorizButtonBar","Controls.htm#358" "MdiDialogWindow","","","CLASS","","MdiDialog.htm#0" "ClassInit:","--","","METHOD","MdiDialogWindow","MdiDialog.htm#1" --- 420,484 ---- "VTrackBar","","","CLASS","","Controls.htm#262" "WindowStyle:","-- style","","METHOD","VTrackBar","Controls.htm#263" ! "BitmapButton","","","CLASS","","Controls.htm#265" ! "ClassInit:","--","","METHOD","BitmapButton","Controls.htm#266" ! "WindowStyle:","-- style","","METHOD","BitmapButton","Controls.htm#267" ! "IconButton","","","CLASS","","Controls.htm#269" ! "ClassInit:","--","","METHOD","IconButton","Controls.htm#270" ! "WindowStyle:","-- style","","METHOD","IconButton","Controls.htm#271" ! "SetIcon:","hIcon --","","METHOD","IconButton","Controls.htm#272" ! "GetIcon:","-- hIcon","","METHOD","IconButton","Controls.htm#273" ! "ScrollBar","","","|CLASS","","Controls.htm#275" ! "ClassInit:","--","","METHOD","ScrollBar","Controls.htm#276" ! "WindowStyle:","-- style","","METHOD","ScrollBar","Controls.htm#277" ! "AddStyle:","n --","","METHOD","ScrollBar","Controls.htm#278" ! "Start:","Parent --","","METHOD","ScrollBar","Controls.htm#279" ! "SetFont:","hndl --","","METHOD","ScrollBar","Controls.htm#280" ! "Enable:","f --","","METHOD","ScrollBar","Controls.htm#281" ! "Disable:","--","","METHOD","ScrollBar","Controls.htm#282" ! "HorizScroll","","","CLASS","","Controls.htm#283" ! "WindowStyle:","-- style","","METHOD","HorizScroll","Controls.htm#284" ! "VertScroll","","","CLASS","","Controls.htm#286" ! "WindowStyle:","-- style","","METHOD","VertScroll","Controls.htm#287" ! "SizeBox","","","CLASS","","Controls.htm#289" ! "WindowStyle:","-- style","","METHOD","SizeBox","Controls.htm#290" ! "MonthCalendar","","","CLASS","","Controls.htm#292" ! "ClassInit:","--","","METHOD","MonthCalendar","Controls.htm#293" ! "AddStyle:","n --","","METHOD","MonthCalendar","Controls.htm#294" ! "Start:","Parent --","","METHOD","MonthCalendar","Controls.htm#295" ! "MinSize:","-- x y","","METHOD","MonthCalendar","Controls.htm#296" ! "WindowStyle:","-- style","","METHOD","MonthCalendar","Controls.htm#297" ! "GetDate:","-- day month year","","METHOD","MonthCalendar","Controls.htm#298" ! "GetToday:","-- day month year","","METHOD","MonthCalendar","Controls.htm#299" ! "DateTimePicker","","","CLASS","","Controls.htm#301" ! "ClassInit:","--","","METHOD","DateTimePicker","Controls.htm#302" ! "AddStyle:","n --","","METHOD","DateTimePicker","Controls.htm#303" ! "Start:","Parent --","","METHOD","DateTimePicker","Controls.htm#304" ! "WindowStyle:","-- style","","METHOD","DateTimePicker","Controls.htm#305" ! "SetCustomFormat:","z""format"" --","","METHOD","DateTimePicker","Controls.htm#306" ! "GetTime:","-- hrs min secs","","METHOD","DateTimePicker","Controls.htm#307" ! "SetTime:","hr min sec --","","METHOD","DateTimePicker","Controls.htm#308" ! "GetDate:","-- day month year","","METHOD","DateTimePicker","Controls.htm#309" ! "TabControl","","","CLASS","","Controls.htm#311" ! "Start:","Parent --","","METHOD","TabControl","Controls.htm#312" ! "ClassInit:","--","","METHOD","TabControl","Controls.htm#313" ! "WindowStyle:","-- style","","METHOD","TabControl","Controls.htm#314" ! "AddStyle:","n --","","METHOD","TabControl","Controls.htm#315" ! "InsertTab:","index --","","METHOD","TabControl","Controls.htm#316" ! "GetTabInfo:","index --","","METHOD","TabControl","Controls.htm#317" ! "SetTabInfo:","index --","","METHOD","TabControl","Controls.htm#318" ! "ClientSize:","-- x y w h","","METHOD","TabControl","Controls.htm#319" ! "WindowSize:","0 0 width height -- x y w h","","METHOD","TabControl","Controls.htm#320" ! "Enable:","f --","","METHOD","TabControl","Controls.htm#321" ! "Disable:","--","","METHOD","TabControl","Controls.htm#322" ! "Setfont:","handle --","","METHOD","TabControl","Controls.htm#323" ! "WindowTitle:","-- null$","","METHOD","TabControl","Controls.htm#324" ! "VertButtonBar","","","CLASS","","Controls.htm#326" ! "SetFont:","fonthndl \ hb1 --","","METHOD","VertButtonBar","Controls.htm#327" ! "Enable:","flag \ hb1 --","","METHOD","VertButtonBar","Controls.htm#328" ! "Disable:","--","","METHOD","VertButtonBar","Controls.htm#329" ! "HorizButtonBar","","","CLASS","","Controls.htm#331" ! "SetFont:","fonthndl \ hb1 --","","METHOD","HorizButtonBar","Controls.htm#332" ! "Enable:","flag \ hb1 --","","METHOD","HorizButtonBar","Controls.htm#333" ! "Disable:","--","","METHOD","HorizButtonBar","Controls.htm#334" "MdiDialogWindow","","","CLASS","","MdiDialog.htm#0" "ClassInit:","--","","METHOD","MdiDialogWindow","MdiDialog.htm#1" *************** *** 930,1046 **** "B/FLOAT","-- n","W32F Floating extra","CONSTANT","","p-float.htm#5" "cells/float","","","VALUE","","p-float.htm#6" ! "finit","--","W32F Floating extra","CODE","","p-float.htm#7" ! "F@","addr -- ; fs: -- r","ANSI Floating","CODE","","p-float.htm#8" ! "SF@","addr -- ; fs: -- r","ANSI Floating ext","CODE","","p-float.htm#9" ! "DF@","addr -- ; fs: -- r","ANSI Floating ext","CODE","","p-float.htm#10" ! "F!","addr -- ; fs: r --","ANSI Floating","CODE","","p-float.htm#11" ! "SF!","addr -- ; fs: r --","ANSI Floating ext","CODE","","p-float.htm#12" ! "DF!","addr -- ; fs: r --","ANSI Floating ext","CODE","","p-float.htm#13" ! "F+!","addr -- ; fs: r --","W32F Floating extra","CODE","","p-float.htm#14" ! "FVARIABLE","compiling -<name>- -- ; run-time -- addr","ANSI Floating","COLON","","p-float.htm#15" ! "FVALUE","compiling -<name>- -- ; fs: r -- ; run-time FS: -- r","W32F Floating extra","COLON","","p-float.htm#16" ! "FTO","","W32F Floating extra","COLON","","p-float.htm#17" ! "FCONSTANT","-<name>- ; fs: r --","ANSI Floating","COLON","","p-float.htm#18" ! "FLITERAL","Compilation fs: r -- ; Runtime fs: -- r","ANSI Floating","COLON","","p-float.htm#19" ! "FDROP","fs: r --","ANSI Floating","CODE","","p-float.htm#20" ! "FDUP","fs: r -- r r","ANSI Floating","CODE","","p-float.htm#21" ! "FSWAP","fs: r1 r2 -- r2 r1","ANSI Floating","CODE","","p-float.htm#22" ! "FOVER","fs: r1 r2 -- r1 r2 r1","ANSI Floating","CODE","","p-float.htm#23" ! "FROT","fs: r1 r2 r3 -- r2 r3 r1","ANSI Floating","CODE","","p-float.htm#24" ! "FPICK","n -- ; fs: -- r","W32F Floating extra","CODE","","p-float.htm#25" ! "FNIP","fs: r1 r2 -- r2","W32F Floating extra","COLON","","p-float.htm#26" ! "F2DROP","fs: r1 r2 --","W32F Floating extra","CODE","","p-float.htm#27" ! "F2DUP","fs: r1 r2 -- r1 r2 r1 r2","W32F Floating extra","COLON","","p-float.htm#28" ! "F2SWAP","fs: r1 r2 r3 r4 -- r3 r4 r2 r1","W32F Floating extra","COLON","","p-float.htm#29" ! "F2NIP","fs: r1 r2 r3 r4 -- r3 r4","W32F Floating extra","COLON","","p-float.htm#30" ! "fpi","fs: -- r","W32F Floating extra","CODE","","p-float.htm#31" ! "f0.0","fs: -- r","W32F Floating extra","CODE","","p-float.htm#32" ! "f1.0","fs: -- r","W32F Floating extra","CODE","","p-float.htm#33" ! "fL2t","fs: -- r","W32F Floating extra","CODE","","p-float.htm#34" ! "fL2e","fs: -- r","W32F Floating extra","CODE","","p-float.htm#35" ! "fLog2","fs: -- r","W32F Floating extra","CODE","","p-float.htm#36" ! "fLn2","fs: -- r","W32F Floating extra","CODE","","p-float.htm#37" ! "finf","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#38" ! "f2.0","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#39" ! "f10.0","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#40" ! "f0.5","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#41" ! "fbig","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#42" ! "feps","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#43" ! "fsmall","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#44" ! "a2**63","-- addr","W32F Floating extra","FVARIABLE","","p-float.htm#45" ! "sq2m1","-- addr","W32F Floating extra","FVARIABLE","","p-float.htm#46" ! "sq2/2m1","-- addr","W32F Floating extra","FVARIABLE","","p-float.htm#47" ! "FLOOR","fs: r1 -- r2","ANSI Floating","CODE","","p-float.htm#48" ! "FCEIL","fs: r1 -- r2","W32F Floating extra","CODE","","p-float.htm#49" ! "FTRUNC","fs: r1 -- r2","W32F Floating extra","CODE","","p-float.htm#50" ! "FROUND","fs: r1 -- r2","ANSI Floating","CODE","","p-float.htm#51" ! "D>F","d -- ; Fs: -- r","ANSI Floating","CODE","","p-float.htm#52" ! "F>D","-- d ; fs: r --","ANSI Floating","CODE","","p-float.htm#53" ! "ZF>D","-- d ; fs: r --","W32F Floating extra","CODE","","p-float.htm#54" ! "s>f","n -- ; fs: -- r","W32F Floating extra","COLON","","p-float.htm#55" ! "f>s","-- n ; fs: r --","W32F Floating extra","COLON","","p-float.htm#56" ! "FS>DS","-- dfloat fs: r --","W32F Floating extra","CODE","","p-float.htm#57" ! "SFS>DS","-- float ; fs: r --","W32F Floating extra","CODE","","p-float.htm#58" ! "F0=","-- f ; fs: r --","ANSI Floating","COLON","","p-float.htm#59" ! "F0<","-- f ; fs: r --","ANSI Floating","COLON","","p-float.htm#60" ! "f0>","-- f ; fs: r --","W32F Floating extra","COLON","","p-float.htm#61" ! "f=","-- f ; fs: r1 r2 --","W32F Floating extra","COLON","","p-float.htm#62" ! "F<","-- f ; fs: r1 r2 --","ANSI Floating","COLON","","p-float.htm#63" ! "f>","-- f ; fs: r1 r2 --","W32F Floating extra","COLON","","p-float.htm#64" ! "f<=","-- f ; fs: r1 r2 --","W32F Floating extra","COLON","","p-float.htm#65" ! "f>=","-- f ; fs: r1 r2 --","W32F Floating extra","COLON","","p-float.htm#66" ! "FMAX","fs: r1 r2 -- r3","ANSI Floating","COLON","","p-float.htm#67" ! "FMIN","fs: r1 r2 -- r3","ANSI Floating","COLON","","p-float.htm#68" ! "F+","fs: r1 r2 -- r3","ANSI Floating","CODE","","p-float.htm#69" ! "F-","fs: r1 r2 -- r3","ANSI Floating","CODE","","p-float.htm#70" ! "F*","fs: r1 r2 -- r3","ANSI Floating","CODE","","p-float.htm#71" ! "F/","fs: r1 r2 -- r3","ANSI Floating","CODE","","p-float.htm#72" ! "FNEGATE","fs: r1 -- r2","ANSI Floating","CODE","","p-float.htm#73" ! "1/f","fs: r1 -- r2","W32F Floating extra","COLON","","p-float.htm#74" ! "f2*","fs: r1 -- r2","W32F Floating extra","CODE","","p-float.htm#75" ! "f2/","fs: r1 -- r2","W32F Floating extra","CODE","","p-float.htm#76" ! "FABS","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#77" ! "FSQRT","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#78" ! "FSIN","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#79" ! "FCOS","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#80" ! "FSINCOS","fs: r1 -- r2 r3","ANSI Floating ext","COLON","","p-float.htm#81" ! "FTAN","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#82" ! "FASIN","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#83" ! "FACOS","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#84" ! "FATAN","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#85" ! "FATAN2","fs: r1 r2 -- r3","ANSI Floating ext","CODE","","p-float.htm#86" ! "FLN","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#87" ! "FLNP1","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#88" ! "FLOG","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#89" ! "FEXP","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#90" ! "FEXPM1","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#91" ! "f**","fs: r1 r2 -- r3","ANSI Floating ext","COLON","","p-float.htm#92" ! "FALOG","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#93" ! "FSINH","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#94" ! "FCOSH","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#95" ! "FTANH","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#96" ! "FASINH","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#97" ! "FACOSH","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#98" ! "FATANH","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#99" ! "F~","-- flag ; fs: r1 r2 r3 --","ANSI Floating ext","COLON","","p-float.htm#100" ! ">FLOAT","addr len -- f ; fs: -- r | <nothing>","ANSI Floating","COLON","","p-float.htm#101" ! "f#","""fp no."" -- ; fs: -- r","W32F Floating extra","COLON","","p-float.htm#102" ! "REPRESENT","addr u -- n flag1 flag2 ; fs: r --","ANSI Floating","COLON","","p-float.htm#103" ! "PRECISION","-- u","ANSI Floating ext","COLON","","p-float.htm#104" ! "SET-PRECISION","u --","ANSI Floating ext","COLON","","p-float.htm#105" ! "min-precision","u --","W32F Floating extra","COLON","","p-float.htm#106" ! "(F.)","addr -- ; fs: r --","W32F Floating extra","COLON","","p-float.htm#107" ! "(FE.)","addr -- ; fs: r --","W32F Floating extra","COLON","","p-float.htm#108" ! "(FS.)","addr -- ; fs: r --","W32F Floating extra","COLON","","p-float.htm#109" ! "(E.)","FS.","W32F Floating extra","SYNONYM","","p-float.htm#110" ! "(G.)","addr -- ; fs: r --","W32F Floating extra","COLON","","p-float.htm#111" ! "F.","fs: r --","ANSI Floating ext","COLON","","p-float.htm#112" ! "FE.","fs: r --","ANSI Floating ext","COLON","","p-float.htm#113" ! "FS.","fs: r --","ANSI Floating ext","COLON","","p-float.htm#114" ! "E.","fs: r --","W32F Floating extra","SYNONYM","","p-float.htm#115" ! "G.","fs: r --","W32F Floating extra","COLON","","p-float.htm#116" ! "f.s","--","W32F Floating debug","COLON","","p-float.htm#117" ! "fdump","--","W32F Floating debug","COLON","","p-float.htm#118" "MessageLoop","--","W32F console","COLON","","p-noconsole.htm#0" "NoConsoleIO","--","W32F console","COLON","","p-noconsole.htm#1" "NoConsoleInImage","--","W32F console","COLON","","p-noconsole.htm#2" --- 911,1039 ---- "B/FLOAT","-- n","W32F Floating extra","CONSTANT","","p-float.htm#5" "cells/float","","","VALUE","","p-float.htm#6" ! "FLOATSP","-- addr","W32F Floating extra","NEWUSER","","p-float.htm#7" ! "finit","--","W32F Floating extra","CODE","","p-float.htm#8" ! "F@","addr -- ; fs: -- r","ANSI Floating","CODE","","p-float.htm#9" ! "SF@","addr -- ; fs: -- r","ANSI Floating ext","CODE","","p-float.htm#10" ! "DF@","addr -- ; fs: -- r","ANSI Floating ext","CODE","","p-float.htm#11" ! "F!","addr -- ; fs: r --","ANSI Floating","CODE","","p-float.htm#12" ! "SF!","addr -- ; fs: r --","ANSI Floating ext","CODE","","p-float.htm#13" ! "DF!","addr -- ; fs: r --","ANSI Floating ext","CODE","","p-float.htm#14" ! "F+!","addr -- ; fs: r --","W32F Floating extra","CODE","","p-float.htm#15" ! "F,","fs: r --","W32F Floating extra","COLON","","p-float.htm#16" ! "FVARIABLE","compiling -<name>- -- ; run-time -- addr","ANSI Floating","COLON","","p-float.htm#17" ! "FVALUE","compiling -<name>- -- ; fs: r -- ; run-time FS: -- r","W32F Floating extra","COLON","","p-float.htm#18" ! "FTO","","W32F Floating extra","COLON","","p-float.htm#19" ! "FCONSTANT","-<name>- ; fs: r --","ANSI Floating","COLON","","p-float.htm#20" ! "FLITERAL","Compilation fs: r -- ; Runtime fs: -- r","ANSI Floating","COLON","","p-float.htm#21" ! "FDROP","fs: r --","ANSI Floating","CODE","","p-float.htm#22" ! "FDUP","fs: r -- r r","ANSI Floating","CODE","","p-float.htm#23" ! "FSWAP","fs: r1 r2 -- r2 r1","ANSI Floating","CODE","","p-float.htm#24" ! "FOVER","fs: r1 r2 -- r1 r2 r1","ANSI Floating","CODE","","p-float.htm#25" ! "FROT","fs: r1 r2 r3 -- r2 r3 r1","ANSI Floating","CODE","","p-float.htm#26" ! "FPICK","n -- ; fs: -- r","W32F Floating extra","CODE","","p-float.htm#27" ! "FNIP","fs: r1 r2 -- r2","W32F Floating extra","COLON","","p-float.htm#28" ! "F2DROP","fs: r1 r2 --","W32F Floating extra","CODE","","p-float.htm#29" ! "F2DUP","fs: r1 r2 -- r1 r2 r1 r2","W32F Floating extra","COLON","","p-float.htm#30" ! "F2SWAP","fs: r1 r2 r3 r4 -- r3 r4 r1 r2","W32F Floating extra","COLON","","p-float.htm#31" ! "F2NIP","fs: r1 r2 r3 r4 -- r3 r4","W32F Floating extra","COLON","","p-float.htm#32" ! "fpi","fs: -- r","W32F Floating extra","CODE","","p-float.htm#33" ! "f0.0","fs: -- r","W32F Floating extra","CODE","","p-float.htm#34" ! "f1.0","fs: -- r","W32F Floating extra","CODE","","p-float.htm#35" ! "fL2t","fs: -- r","W32F Floating extra","CODE","","p-float.htm#36" ! "fL2e","fs: -- r","W32F Floating extra","CODE","","p-float.htm#37" ! "fLog2","fs: -- r","W32F Floating extra","CODE","","p-float.htm#38" ! "fLn2","fs: -- r","W32F Floating extra","CODE","","p-float.htm#39" ! "finf","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#40" ! "f2.0","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#41" ! "f10.0","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#42" ! "f0.5","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#43" ! "fbig","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#44" ! "feps","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#45" ! "fsmall","fs: -- r","W32F Floating extra","FCONSTANT","","p-float.htm#46" ! "a2**63","-- addr","W32F Floating extra","FVARIABLE","","p-float.htm#47" ! "sq2m1","-- addr","W32F Floating extra","FVARIABLE","","p-float.htm#48" ! "sq2/2m1","-- addr","W32F Floating extra","FVARIABLE","","p-float.htm#49" ! "FLOOR","fs: r1 -- r2","ANSI Floating","CODE","","p-float.htm#50" ! "FCEIL","fs: r1 -- r2","W32F Floating extra","CODE","","p-float.htm#51" ! "FTRUNC","fs: r1 -- r2","W32F Floating extra","CODE","","p-float.htm#52" ! "FROUND","fs: r1 -- r2","ANSI Floating","CODE","","p-float.htm#53" ! "D>F","d -- ; Fs: -- r","ANSI Floating","CODE","","p-float.htm#54" ! "F>D","-- d ; fs: r --","ANSI Floating","CODE","","p-float.htm#55" ! "ZF>D","-- d ; fs: r --","W32F Floating extra","CODE","","p-float.htm#56" ! "s>f","n -- ; fs: -- r","W32F Floating extra","COLON","","p-float.htm#57" ! "f>s","-- n ; fs: r --","W32F Floating extra","COLON","","p-float.htm#58" ! "FS>DS","-- dfloat fs: r --","W32F Floating extra","CODE","","p-float.htm#59" ! "SFS>DS","-- float ; fs: r --","W32F Floating extra","CODE","","p-float.htm#60" ! "F0=","-- f ; fs: r --","ANSI Floating","COLON","","p-float.htm#61" ! "F0<","-- f ; fs: r --","ANSI Floating","COLON","","p-float.htm#62" ! "f0>","-- f ; fs: r --","W32F Floating extra","COLON","","p-float.htm#63" ! "f=","-- f ; fs: r1 r2 --","W32F Floating extra","COLON","","p-float.htm#64" ! "F<","-- f ; fs: r1 r2 --","ANSI Floating","COLON","","p-float.htm#65" ! "f>","-- f ; fs: r1 r2 --","W32F Floating extra","COLON","","p-float.htm#66" ! "f<=","-- f ; fs: r1 r2 --","W32F Floating extra","COLON","","p-float.htm#67" ! "f>=","-- f ; fs: r1 r2 --","W32F Floating extra","COLON","","p-float.htm#68" ! "FMAX","fs: r1 r2 -- r3","ANSI Floating","COLON","","p-float.htm#69" ! "FMIN","fs: r1 r2 -- r3","ANSI Floating","COLON","","p-float.htm#70" ! "F+","fs: r1 r2 -- r3","ANSI Floating","CODE","","p-float.htm#71" ! "F-","fs: r1 r2 -- r3","ANSI Floating","CODE","","p-float.htm#72" ! "F*","fs: r1 r2 -- r3","ANSI Floating","CODE","","p-float.htm#73" ! "F/","fs: r1 r2 -- r3","ANSI Floating","CODE","","p-float.htm#74" ! "FNEGATE","fs: r1 -- r2","ANSI Floating","CODE","","p-float.htm#75" ! "1/f","fs: r1 -- r2","W32F Floating extra","COLON","","p-float.htm#76" ! "f2*","fs: r1 -- r2","W32F Floating extra","CODE","","p-float.htm#77" ! "f2/","fs: r1 -- r2","W32F Floating extra","CODE","","p-float.htm#78" ! "FABS","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#79" ! "FSQRT","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#80" ! "F~","-- flag ; fs: r1 r2 r3 --","ANSI Floating ext","COLON","","p-float.htm#81" ! "FSIN","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#82" ! "FCOS","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#83" ! "FSINCOS","fs: r1 -- r2 r3","ANSI Floating ext","COLON","","p-float.htm#84" ! "FTAN","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#85" ! "FASIN","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#86" ! "FACOS","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#87" ! "FATAN","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#88" ! "FATAN2","fs: r1 r2 -- r3","ANSI Floating ext","CODE","","p-float.htm#89" ! "FLN","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#90" ! "FLNP1","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#91" ! "FLOG","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#92" ! "FEXP","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#93" ! "FEXPM1","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#94" ! "f**","fs: r1 r2 -- r3","ANSI Floating ext","COLON","","p-float.htm#95" ! "FALOG","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#96" ! "FSINH","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#97" ! "FCOSH","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#98" ! "FTANH","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#99" ! "FASINH","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#100" ! "FACOSH","fs: r1 -- r2","ANSI Floating ext","CODE","","p-float.htm#101" ! "FATANH","fs: r1 -- r2","ANSI Floating ext","COLON","","p-float.htm#102" ! ">FLOAT","addr len -- f ; fs: -- r | <nothing>","ANSI Floating","COLON","","p-float.htm#103" ! "f#","Interpretation: ""fp no."" -- ; fs: -- r","W32F Floating extra","COLON","","p-float.htm#104" ! "REPRESENT","addr u -- n flag1 flag2 ; fs: r --","ANSI Floating","COLON","","p-float.htm#105" ! "PRECISION","-- u","ANSI Floating ext","COLON","","p-float.htm#106" ! "SET-PRECISION","u --","ANSI Floating ext","COLON","","p-float.htm#107" ! "min-precision","u --","W32F Floating extra","COLON","","p-float.htm#108" ! "(F.)","addr -- ; fs: r --","W32F Floating extra","COLON","","p-float.htm#109" ! "(FE.)","addr -- ; fs: r --","W32F Floating extra","COLON","","p-float.htm#110" ! "(FS.)","addr -- ; fs: r --","W32F Floating extra","COLON","","p-float.htm#111" ! "(E.)","FS.","W32F Floating extra","SYNONYM","","p-float.htm#112" ! "(G.)","addr -- ; fs: r --","W32F Floating extra","COLON","","p-float.htm#113" ! "F.","fs: r --","ANSI Floating ext","COLON","","p-float.htm#114" ! "FE.","fs: r --","ANSI Floating ext","COLON","","p-float.htm#115" ! "FS.","fs: r --","ANSI Floating ext","COLON","","p-float.htm#116" ! "E.","fs: r --","W32F Floating extra","SYNONYM","","p-float.htm#117" ! "G.","fs: r --","W32F Floating extra","COLON","","p-float.htm#118" ! "f.s","--","W32F Floating debug","COLON","","p-float.htm#119" ! ".fdepth","--","W32F Floating debug","COLON","","p-float.htm#120" ! "fdump","--","W32F Floating debug","COLON","","p-float.htm#121" "MessageLoop","--","W32F console","COLON","","p-noconsole.htm#0" "NoConsoleIO","--","W32F console","COLON","","p-noconsole.htm#1" "NoConsoleInImage","--","W32F console","COLON","","p-noconsole.htm#2" + "__STDCALL","--","w32f sys","COLON","","p-callback.htm#0" + "__CDECL","--","w32f sys","COLON","","p-callback.htm#1" + "CALLBACK","n1 -<name function>-","w32f sys","COLON","","p-callback.htm#2" + "CALLBACK:","args -<name>-","w32f sys","COLON","","p-callback.htm#3" + ".fonts","--","w32f sys","COLON","","p-callback.htm#4" + "HandleMessages","pMsg -- 0","","COLON","","p-callback.htm#5" + "WM_WIN32FORTH","","w32f","VALUE","","p-callback.htm#6" + "WM_WIN32FOR-INIT","--","w32f internal","COLON","","p-callback.htm#7" + "HandleWindowsMessages","hwnd msg wParam lParam -- flag","","COLON","","p-callback.htm#9" Index: p-index.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-index.htm,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** p-index.htm 26 Feb 2006 07:13:13 -0000 1.12 --- p-index.htm 25 May 2006 09:22:35 -0000 1.13 *************** *** 134,137 **** --- 134,138 ---- <li><a href="p-debugging.htm">Debugging in Win32Forth</a></li> <li><a href="p-windlls.htm">Calling Windows Procedures</a></li> + <li><a href="p-callback.htm">Using Callback functions</a></li> <li><a href="p-objects.htm">Object Oriented Programming</a></li> <li><a href="p-classes.htm">Win32Forth Classes</a></li> --- NEW FILE: p-callback.htm --- <html> <head> <meta http-equiv="Content-Language" content="en-gb"> <meta name="GENERATOR" content="dexh00"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title> </title><style><!-- h1 { font-family: Tahoma; font-size: 24pt; font-weight: bold } h2 { font-family: Tahoma; font-size: 18pt; font-weight: bold } --> </style> </head> <body><h1 align="center"> <a href="mailto:win...@ya...?subject=DOC:Doc error in $Id: p-callback.htm,v 1.1 2006/05/25 09:22:35 dbu_de Exp $"> <img border="0" src="TELLUS.gif" align="left" width="32" height="32"></a> <img border="0" src="FORTHPRO.gif" width="32" height="32"> Win32Forth</h1> <hr /><h1>Windows Callback support </h1><hr /><h2>Glossary </h2><pre><b><a name="0">: __STDCALL ( -- ) \ w32f sys </a></b></pre><p>Turn on stdcall type callback (the default). </p><pre><b><a name="1">: __CDECL ( -- ) \ w32f sys </a></b></pre><p>Turn on __cdecl type callback. </p><pre><b><a name="2">: CALLBACK ( n1 -<name function>- ) \ w32f sys </a></b></pre><p>Define a callback with "name" that has n1 arguments. "name" will return the address of the callback at runtime. </p><p>Note that a maximum of 19 arguments is supported by Win32Forth. </p><pre><b><a name="3">: CALLBACK: ( args -<name>- ) \ w32f sys </a></b></pre><p>Define a callback function that has n1 arguments. </p><p>CALLBACK: creates TWO definitions! The first has the name you specify, and the second has the same name, prefixed with a '&' meaning 'address of' This second definition is the one which returns the address of the callback, and must be passed to Windows. </p><p>Note that a maximum of 19 arguments is supported by Win32Forth. </p>********************************************************************** <h2>An example of how to use a callback </h2>********************************************************************** <p>The "EnumFonts" windows call requires an application callback that will be called repeatedly to process each font in the system. We are just displaying the fonts, so we just look at the "dwType" to decide how to display each font. </p><pre> 4 CallBack: FontFunc { lplf lptm dwType lpData -- int } \ The callback function for EnumFonts() used by .FONTS to dump \ all installed fonts to the console window. \ This callback as specified by "EnumFonts" passes four (4) parameters to \ the callback procedure, so we must say "4 CallBack: FontFunc" to define \ a callback that accepts four parameters. cr dwType dup TRUETYPE_FONTTYPE and IF ." " ELSE ." Non-" THEN ." TrueType " dup RASTER_FONTTYPE and IF ." Raster " ELSE ." Vector " THEN DEVICE_FONTTYPE and IF ." Device " ELSE ." GDI " THEN lplf 28 + LF_FACESIZE 2dup 0 scan nip - type cr 5 spaces lplf dup @ 4 .r \ height 4 + dup @ 4 .r \ width 4 + dup @ 6 .r.1 \ escapement angle 4 + dup @ 6 .r.1 \ orientation angle 4 + dup @ 4 .r \ weight 4 + dup c@ 1 and 2 .r \ italics 1 + dup c@ 1 and 2 .r \ underline 1 + dup c@ 1 and 2 .r \ strike-out 1 + dup c@ 4 .r \ character set 1 + dup c@ 2 .r \ output precision 1 + dup c@ 4 .r \ clip precision 1 + dup c@ 2 .r \ output quality 1 + c@ 4 h.r \ family and pitch 1 ; \ return "1=success" flag to windows : .fonts ( -- ) \ w32f sys </pre><pre><b><a name="4">: .fonts ( -- ) \ w32f sys </a></b></pre><p>Dump all installed Fonts to the console window. </p><pre>\ The callback name is passed to windows as shown. cr 5 spaces ." ht wide esc ornt wt I U S set p cp q fp" 0 &FontFunc \ here it goes... 0 conDC Call EnumFonts drop ; </pre>********************************************************************** <h2>The window message handler for Win32Forth. </h2>********************************************************************** <pre><b><a name="5">: HandleMessages { pMsg -- 0 } </a></b></pre><p>This is the callback which handles the messages send by windows to our Application. The chain MSG-CHAIN receives all messages. </p><p>This callback is called by the console window and by WINPAUSE. </p>********************************************************************** <h2>Allow Forth to send messages to itself. </h2>********************************************************************** <p>Each instance of forth running under windows is able through the method WM32Forth: and a unique set of application specific constants (WM_BEEPME in this example) to detect a message being set to itself, and subsequently perform some specific operation as ordered. </p><pre>:M Win32Forth: ( h m w l -- ) over WM_BEEPME = if beep then ;M </pre><p><b> Note: </b> This Win32Forth feature is <b> deprecated </b>, and may be removed in a future release. </p><pre><b><a name="6">-1 value WM_WIN32FORTH \ w32f </a></b></pre><p>This windows message definition for WM_WIN32FORTH, provides a way for multiple Win32Forth applications to interact between themselves wile running. </p><pre><b><a name="7">: WM_WIN32FOR-INIT ( -- ) \ w32f internal </a></b></pre><p>WM_WIN32FOR-INIT obtains a unique windows message value from Windows then Win32Forth starts up, so this instance of forth will be able to talk to other instances of forth. </p><pre><b><a name="8">' _win32forth-message is win32forth-message ( lParam wParam -- ) \ w32f </a></b></pre><p>WIN32FORTH-MESSAGE allows a unique message to be broadcast to all currently running instances of Win32Forth. </p><p>'wParam' is the application specific sub-message that each instance can </p><p>** use to determine if it should handle the message. 'lParam' is available to pass specific information between instances of Win32Forth. </p><p>Note: The message is not only broadcast to to all currently running instances of Win32Forth. It is brodcast to ALL windows in the system. So it may be rather slow... </p><pre><b><a name="9">: HandleWindowsMessages { hwnd msg wParam lParam -- flag } </a></b></pre><p>This is the callback which handles the messages send by win32forth-message. It is called in the windows procedure of the console window of win32forth. </p><h2>A Win32Forth-message example: </h2><pre> 31415 constant WM_BEEPME \ a command code to beep \ Send the message "WM_BEEPME" to all running instances of Win32Forth : beepme ( -- ) 0 WM_BEEPME win32forth-message ; \ The chain "FORTH-MSG-CHAIN" receives all messages that are broadcast by any \ program with the WM_WIN32FORTH message. "FORTH-MSG-BEEP" tests the sub-message \ WM_BEEPME, and if it matches, then it beeps the console. Any sub-message that \ is not recognized by any instance of a Win32Forth program must be ignored. : forth-msg-beep ( wParam lParam -- wParam lParam ) over WM_BEEPME = if beep then ; forth-msg-chain chain-add forth-msg-beep </pre>********************************************************************** ********************************************************************** ********************************************************************** ********************************************************************** <hr><p>Document $Id: p-callback.htm,v 1.1 2006/05/25 09:22:35 dbu_de Exp $</p> </body></html> |