1 /* vi:set ts=8 sts=4 sw=4:
3 * VIM - Vi IMproved by Bram Moolenaar
4 * Win16 Toolbar by Vince Negri - External Header
5 * (Based on MS Sample Code)
7 * Do ":help uganda" in Vim to read copying and usage conditions.
8 * Do ":help credits" in Vim to see a list of people who contributed.
13 typedef struct tagTBBUTTON
15 int iBitmap
; // index into bitmap of this button's picture
16 int idCommand
; // WM_COMMAND menu ID that this button sends
17 BYTE fsState
; // button's state
18 BYTE fsStyle
; // button's style
21 typedef TBBUTTON NEAR
* PTBBUTTON
;
22 typedef TBBUTTON FAR
* LPTBBUTTON
;
23 typedef const TBBUTTON FAR
* LPCTBBUTTON
;
29 #define TBSTYLE_BUTTON 0x00 // this entry is button
30 #define TBSTYLE_SEP 0x01 // this entry is a separator
31 #define TBSTYLE_CHECK 0x02 // this is a check button (it stays down)
32 #define TBSTYLE_GROUP 0x04 // this is a check button (it stays down)
33 #define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK) // this group is a member of a group radio group
38 #define TBSTATE_CHECKED 0x01 // radio button is checked
39 #define TBSTATE_PRESSED 0x02 // button is being depressed (any style)
40 #define TBSTATE_ENABLED 0x04 // button is enabled
41 #define TBSTATE_HIDDEN 0x08 // button is hidden
42 #define TBSTATE_INDETERMINATE 0x10 // button is indeterminate
43 #define TBSTATE_SELECTED 0x20 // mouse hovering over button (for coolbar look)
47 typedef struct tagADJUSTINFO
50 char szDescription
[1];
53 typedef ADJUSTINFO NEAR
* PADJUSTINFO
;
54 typedef ADJUSTINFO FAR
* LPADJUSTINFO
;
57 HWND WINAPI
CreateToolbar(HWND hwnd
, DWORD ws
, WORD wID
, int nBitmaps
,
58 HINSTANCE hBMInst
, WORD wBMID
,
59 LPCTBBUTTON lpButtons
, int iNumButtons
);
61 #define CMB_DISCARDABLE 0x01 // create bitmap as discardable
62 #define CMB_MASKED 0x02 // create image/mask pair in bitmap
65 #define TB_ENABLEBUTTON (WM_USER + 1)
66 // wParam: UINT, button ID
67 // lParam: BOOL LOWORD, enable if nonzero; HIWORD not used, 0
71 #define TB_CHECKBUTTON (WM_USER + 2)
72 // wParam: UINT, button ID
73 // lParam: BOOL LOWORD, check if nonzero; HIWORD not used, 0
77 #define TB_PRESSBUTTON (WM_USER + 3)
78 // wParam: UINT, button ID
79 // lParam: BOOL LOWORD, press if nonzero; HIWORD not used, 0
83 #define TB_HIDEBUTTON (WM_USER + 4)
84 // wParam: UINT, button ID
85 // lParam: BOOL LOWORD, hide if nonzero; HIWORD not used, 0
88 #define TB_INDETERMINATE (WM_USER + 5)
89 // wParam: UINT, button ID
90 // lParam: BOOL LOWORD, make indeterminate if nonzero; HIWORD not used, 0
94 #define TB_ISBUTTONENABLED (WM_USER + 9)
95 // wParam: UINT, button ID
96 // lParam: not used, 0
97 // return: BOOL LOWORD, enabled if nonzero; HIWORD not used
100 #define TB_ISBUTTONCHECKED (WM_USER + 10)
101 // wParam: UINT, button ID
102 // lParam: not used, 0
103 // return: BOOL LOWORD, checked if nonzero; HIWORD not used
106 #define TB_ISBUTTONPRESSED (WM_USER + 11)
107 // wParam: UINT, button ID
108 // lParam: not used, 0
109 // return: BOOL LOWORD, pressed if nonzero; HIWORD not used
112 #define TB_ISBUTTONHIDDEN (WM_USER + 12)
113 // wParam: UINT, button ID
114 // lParam: not used, 0
115 // return: BOOL LOWORD, hidden if nonzero; HIWORD not used
118 #define TB_ISBUTTONINDETERMINATE (WM_USER + 13)
119 // wParam: UINT, button ID
120 // lParam: not used, 0
121 // return: BOOL LOWORD, indeterminate if nonzero; HIWORD not used
124 #define TB_SETSTATE (WM_USER + 17)
125 // wParam: UINT, button ID
126 // lParam: UINT LOWORD, state bits; HIWORD not used, 0
130 #define TB_GETSTATE (WM_USER + 18)
131 // wParam: UINT, button ID
132 // lParam: not used, 0
133 // return: UINT LOWORD, state bits; HIWORD not used
136 #define TB_ADDBITMAP (WM_USER + 19)
137 // wParam: UINT, number of button graphics in bitmap
139 // HINSTANCE LOWORD, module handle; UINT HIWORD, resource id
140 // HINSTANCE LOWORD, NULL; HBITMAP HIWORD, bitmap handle
142 // int LOWORD, index for first new button; HIWORD not used
143 // int LOWORD, -1 indicating error; HIWORD not used
146 #define TB_ADDBUTTONS (WM_USER + 20)
147 // wParam: UINT, number of buttons to add
148 // lParam: LPTBBUTTON, pointer to array of TBBUTTON structures
152 #define TB_INSERTBUTTON (WM_USER + 21)
153 // wParam: UINT, index for insertion (appended if index doesn't exist)
154 // lParam: LPTBBUTTON, pointer to one TBBUTTON structure
158 #define TB_DELETEBUTTON (WM_USER + 22)
159 // wParam: UINT, index of button to delete
160 // lParam: not used, 0
164 #define TB_GETBUTTON (WM_USER + 23)
165 // wParam: UINT, index of button to get
166 // lParam: LPTBBUTTON, pointer to TBBUTTON buffer to receive button
170 #define TB_BUTTONCOUNT (WM_USER + 24)
171 // wParam: not used, 0
172 // lParam: not used, 0
173 // return: UINT LOWORD, number of buttons; HIWORD not used
176 #define TB_COMMANDTOINDEX (WM_USER + 25)
177 // wParam: UINT, command id
178 // lParam: not used, 0
179 // return: UINT LOWORD, index of button (-1 if command not found);
184 #define TBN_BEGINDRAG 0x0201
185 #define TBN_ENDDRAG 0x0203