Last updated: 1. 1.1998, 15: 2
DEFINITION MODULE ToolBar; (*--------------------------------------- TOOLBAR.C -- Gadgets for a frame window. (c) Paul Yao, 1996 ToolBar.def -- Translation to Stony Brook-Modula-2 (c) Peter Stadler, 30.05.1997 ---------------------------------------*) IMPORT WIN32; IMPORT WINUSER; IMPORT COMMCTRL; IMPORT SYSTEM; IMPORT h2d_gadgets; VAR hwndCombo : WIN32.HWND; hwndToolTip : WIN32.HWND; hwndTB : WIN32.HWND; cyToolBar : INTEGER; bComboBox : BOOLEAN = FALSE; bStrings : BOOLEAN = FALSE; bLargeIcons : BOOLEAN = FALSE; dwToolBarStyles : WIN32.DWORD = WINUSER.WS_CHILD BOR WINUSER.WS_VISIBLE BOR WINUSER.WS_CLIPSIBLINGS BOR COMMCTRL.CCS_TOP BOR COMMCTRL.CCS_NODIVIDER BOR COMMCTRL.TBSTYLE_TOOLTIPS; hInst : WIN32.HINSTANCE; TYPE TEXT = ARRAY[0..100] OF CHAR; VAR szTbStrings : TEXT = {"New","", "Open","", "Save","", "Print","", "Preview","", "Cut","", "Copy","", "Paste","", "Undo","", "Properties","", "Help","", "Delete" }; TYPE TBButtonArray = ARRAY[0..33] OF COMMCTRL.TBBUTTON; TYPE BRES = ARRAY[0..1] OF SYSTEM.BYTE; CONST tbb = TBButtonArray { {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {COMMCTRL.STD_FILENEW, h2d_gadgets.IDM_FILE_NEW, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_BUTTON, {0, 0}, 0, 0}, {COMMCTRL.STD_FILEOPEN, h2d_gadgets.IDM_FILE_OPEN, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_BUTTON, {0, 0}, 0, 1}, {COMMCTRL.STD_FILESAVE, h2d_gadgets.IDM_FILE_SAVE, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_BUTTON, {0, 0}, 0, 2}, {COMMCTRL.STD_PRINT, h2d_gadgets.IDM_FILE_PRINT, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_BUTTON, {0, 0}, 0, 3}, {COMMCTRL.STD_PRINTPRE, h2d_gadgets.IDM_FILE_PREVIEW, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_CHECK, {0, 0}, 0, 4}, {0, 0, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_SEP, {0, 0}, 0, 0}, {COMMCTRL.STD_CUT, h2d_gadgets.IDM_EDIT_CUT, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_CHECKGROUP, {0, 0}, 0, 5}, {COMMCTRL.STD_COPY, h2d_gadgets.IDM_EDIT_COPY, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_CHECKGROUP, {0, 0}, 0, 6}, {COMMCTRL.STD_PASTE, h2d_gadgets.IDM_EDIT_PASTE, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_CHECKGROUP, {0, 0}, 0, 7}, {COMMCTRL.STD_UNDO, h2d_gadgets.IDM_EDIT_UNDO, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_BUTTON, {0, 0}, 0, 8}, {COMMCTRL.STD_PROPERTIES, h2d_gadgets.IDM_EDIT_PROP, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_CHECK, {0, 0}, 0, 9}, {COMMCTRL.STD_HELP, h2d_gadgets.IDM_TB_HELP, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_BUTTON, {0, 0}, 0, 10}, {COMMCTRL.STD_DELETE, h2d_gadgets.IDM_TB_DELETE, COMMCTRL.TBSTATE_ENABLED, COMMCTRL.TBSTYLE_BUTTON, {0, 0}, 0, 11} }; TYPE nCustArray = ARRAY[0..12] OF INTEGER; CONST nCust = nCustArray { 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, -1 }; CONST tbStdLarge = COMMCTRL.TBADDBITMAP { COMMCTRL.HINST_COMMCTRL, COMMCTRL.IDB_STD_LARGE_COLOR }; CONST tbStdSmall = COMMCTRL.TBADDBITMAP { COMMCTRL.HINST_COMMCTRL, COMMCTRL.IDB_STD_SMALL_COLOR }; (*++++*****************************************************************) PROCEDURE InitToolBar (hwndParent : WIN32.HWND) : WIN32.HWND; (**********************************************************************) (*++++*****************************************************************) PROCEDURE RebuildToolBar (hwndParent : WIN32.HWND; wFlag : WIN32.WORD) : WIN32.HWND; (**********************************************************************) (*++++*****************************************************************) PROCEDURE ToolBarMessage ( hwndTB : WIN32.HWND; wMsg : WIN32.WORD); (**********************************************************************) (*++++*****************************************************************) PROCEDURE ToolBarNotify (hwnd : WIN32.HWND; wParam : WIN32.WPARAM; lParam : WIN32.LPARAM) : WIN32.LRESULT; (**********************************************************************) END ToolBar.