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.