annotate src/vimtbar.h @ 9:6a13985590e6

*** empty log message ***
author axmo
date Fri, 29 Aug 2008 15:41:29 +0900
parents 76efa0be13f1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 /* vi:set ts=8 sts=4 sw=4:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 *
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 * VIM - Vi IMproved by Bram Moolenaar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 * Win16 Toolbar by Vince Negri - External Header
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 * (Based on MS Sample Code)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 *
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 * Do ":help uganda" in Vim to read copying and usage conditions.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 * Do ":help credits" in Vim to see a list of people who contributed.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 */
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 // Button Structure
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 typedef struct tagTBBUTTON
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 {
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 int iBitmap; // index into bitmap of this button's picture
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 int idCommand; // WM_COMMAND menu ID that this button sends
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 BYTE fsState; // button's state
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 BYTE fsStyle; // button's style
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 } TBBUTTON;
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 typedef TBBUTTON NEAR* PTBBUTTON;
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 typedef TBBUTTON FAR* LPTBBUTTON;
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 typedef const TBBUTTON FAR* LPCTBBUTTON;
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 // Styles
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 #define TBSTYLE_BUTTON 0x00 // this entry is button
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 #define TBSTYLE_SEP 0x01 // this entry is a separator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 #define TBSTYLE_CHECK 0x02 // this is a check button (it stays down)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 #define TBSTYLE_GROUP 0x04 // this is a check button (it stays down)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 #define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP | TBSTYLE_CHECK) // this group is a member of a group radio group
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 // States
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 #define TBSTATE_CHECKED 0x01 // radio button is checked
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 #define TBSTATE_PRESSED 0x02 // button is being depressed (any style)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 #define TBSTATE_ENABLED 0x04 // button is enabled
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 #define TBSTATE_HIDDEN 0x08 // button is hidden
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 #define TBSTATE_INDETERMINATE 0x10 // button is indeterminate
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 #define TBSTATE_SELECTED 0x20 // mouse hovering over button (for coolbar look)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 typedef struct tagADJUSTINFO
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 {
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 TBBUTTON tbButton;
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 char szDescription[1];
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 } ADJUSTINFO;
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 typedef ADJUSTINFO NEAR* PADJUSTINFO;
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 typedef ADJUSTINFO FAR* LPADJUSTINFO;
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 HWND WINAPI CreateToolbar(HWND hwnd, DWORD ws, WORD wID, int nBitmaps,
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 HINSTANCE hBMInst, WORD wBMID,
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 LPCTBBUTTON lpButtons, int iNumButtons);
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 #define CMB_DISCARDABLE 0x01 // create bitmap as discardable
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 #define CMB_MASKED 0x02 // create image/mask pair in bitmap
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 #define TB_ENABLEBUTTON (WM_USER + 1)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 // lParam: BOOL LOWORD, enable if nonzero; HIWORD not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 #define TB_CHECKBUTTON (WM_USER + 2)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 // lParam: BOOL LOWORD, check if nonzero; HIWORD not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 #define TB_PRESSBUTTON (WM_USER + 3)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 // lParam: BOOL LOWORD, press if nonzero; HIWORD not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 #define TB_HIDEBUTTON (WM_USER + 4)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 // lParam: BOOL LOWORD, hide if nonzero; HIWORD not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 #define TB_INDETERMINATE (WM_USER + 5)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 // lParam: BOOL LOWORD, make indeterminate if nonzero; HIWORD not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 #define TB_ISBUTTONENABLED (WM_USER + 9)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 // return: BOOL LOWORD, enabled if nonzero; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 #define TB_ISBUTTONCHECKED (WM_USER + 10)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 // return: BOOL LOWORD, checked if nonzero; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 #define TB_ISBUTTONPRESSED (WM_USER + 11)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 // return: BOOL LOWORD, pressed if nonzero; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112 #define TB_ISBUTTONHIDDEN (WM_USER + 12)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 // return: BOOL LOWORD, hidden if nonzero; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118 #define TB_ISBUTTONINDETERMINATE (WM_USER + 13)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121 // return: BOOL LOWORD, indeterminate if nonzero; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124 #define TB_SETSTATE (WM_USER + 17)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126 // lParam: UINT LOWORD, state bits; HIWORD not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
127 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
128 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
129
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
130 #define TB_GETSTATE (WM_USER + 18)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
131 // wParam: UINT, button ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
132 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
133 // return: UINT LOWORD, state bits; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
134 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
135
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
136 #define TB_ADDBITMAP (WM_USER + 19)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
137 // wParam: UINT, number of button graphics in bitmap
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
138 // lParam: one of:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
139 // HINSTANCE LOWORD, module handle; UINT HIWORD, resource id
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
140 // HINSTANCE LOWORD, NULL; HBITMAP HIWORD, bitmap handle
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
141 // return: one of:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
142 // int LOWORD, index for first new button; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
143 // int LOWORD, -1 indicating error; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
144 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
145
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
146 #define TB_ADDBUTTONS (WM_USER + 20)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
147 // wParam: UINT, number of buttons to add
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
148 // lParam: LPTBBUTTON, pointer to array of TBBUTTON structures
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
149 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
150 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
151
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
152 #define TB_INSERTBUTTON (WM_USER + 21)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
153 // wParam: UINT, index for insertion (appended if index doesn't exist)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
154 // lParam: LPTBBUTTON, pointer to one TBBUTTON structure
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
155 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
156 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
157
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
158 #define TB_DELETEBUTTON (WM_USER + 22)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
159 // wParam: UINT, index of button to delete
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
160 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
161 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
162 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
163
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
164 #define TB_GETBUTTON (WM_USER + 23)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
165 // wParam: UINT, index of button to get
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
166 // lParam: LPTBBUTTON, pointer to TBBUTTON buffer to receive button
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
167 // return: not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
168 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
169
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
170 #define TB_BUTTONCOUNT (WM_USER + 24)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
171 // wParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
172 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
173 // return: UINT LOWORD, number of buttons; HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
174 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
175
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
176 #define TB_COMMANDTOINDEX (WM_USER + 25)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
177 // wParam: UINT, command id
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
178 // lParam: not used, 0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
179 // return: UINT LOWORD, index of button (-1 if command not found);
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
180 // HIWORD not used
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
181 //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
182
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
183
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
184 #define TBN_BEGINDRAG 0x0201
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
185 #define TBN_ENDDRAG 0x0203