updated for version 7.0001
diff --git a/src/vimtbar.h b/src/vimtbar.h
new file mode 100644
index 0000000..7427f64
--- /dev/null
+++ b/src/vimtbar.h
@@ -0,0 +1,185 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * VIM - Vi IMproved	by Bram Moolenaar
+ *			Win16 Toolbar by Vince Negri - External Header
+ *			(Based on MS Sample Code)
+ *
+ * Do ":help uganda"  in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+//
+// Button Structure
+//
+typedef struct tagTBBUTTON
+{
+    int  iBitmap;	 // index into bitmap of this button's picture
+    int  idCommand;	 // WM_COMMAND menu ID that this button sends
+    BYTE fsState;	 // button's state
+    BYTE fsStyle;	 // button's style
+} TBBUTTON;
+
+typedef TBBUTTON NEAR* PTBBUTTON;
+typedef TBBUTTON FAR* LPTBBUTTON;
+typedef const TBBUTTON FAR* LPCTBBUTTON;
+
+
+//
+// Styles
+//
+#define TBSTYLE_BUTTON		0x00	// this entry is button
+#define TBSTYLE_SEP		0x01	// this entry is a separator
+#define TBSTYLE_CHECK		0x02	// this is a check button (it stays down)
+#define TBSTYLE_GROUP		0x04	// this is a check button (it stays down)
+#define TBSTYLE_CHECKGROUP	(TBSTYLE_GROUP | TBSTYLE_CHECK) // this group is a member of a group radio group
+
+//
+// States
+//
+#define TBSTATE_CHECKED		0x01	// radio button is checked
+#define TBSTATE_PRESSED		0x02	// button is being depressed (any style)
+#define TBSTATE_ENABLED		0x04	// button is enabled
+#define TBSTATE_HIDDEN		0x08	// button is hidden
+#define TBSTATE_INDETERMINATE   0x10    // button is indeterminate
+#define TBSTATE_SELECTED	0x20	// mouse hovering over button (for coolbar look)
+
+
+
+typedef struct tagADJUSTINFO
+{
+    TBBUTTON tbButton;
+    char szDescription[1];
+} ADJUSTINFO;
+
+typedef ADJUSTINFO NEAR* PADJUSTINFO;
+typedef ADJUSTINFO FAR* LPADJUSTINFO;
+
+
+HWND WINAPI CreateToolbar(HWND hwnd, DWORD ws, WORD wID, int nBitmaps,
+	HINSTANCE hBMInst, WORD wBMID,
+	LPCTBBUTTON lpButtons, int iNumButtons);
+
+#define CMB_DISCARDABLE 0x01    // create bitmap as discardable
+#define CMB_MASKED      0x02    // create image/mask pair in bitmap
+
+
+#define TB_ENABLEBUTTON	(WM_USER + 1)
+// wParam: UINT, button ID
+// lParam: BOOL LOWORD, enable if nonzero; HIWORD not used, 0
+// return: not used
+//
+
+#define TB_CHECKBUTTON	(WM_USER + 2)
+// wParam: UINT, button ID
+// lParam: BOOL LOWORD, check if nonzero; HIWORD not used, 0
+// return: not used
+//
+
+#define TB_PRESSBUTTON	(WM_USER + 3)
+// wParam: UINT, button ID
+// lParam: BOOL LOWORD, press if nonzero; HIWORD not used, 0
+// return: not used
+//
+
+#define TB_HIDEBUTTON	(WM_USER + 4)
+// wParam: UINT, button ID
+// lParam: BOOL LOWORD, hide if nonzero; HIWORD not used, 0
+// return: not used
+//
+#define TB_INDETERMINATE	(WM_USER + 5)
+// wParam: UINT, button ID
+// lParam: BOOL LOWORD, make indeterminate if nonzero; HIWORD not used, 0
+// return: not used
+//
+
+#define TB_ISBUTTONENABLED	(WM_USER + 9)
+// wParam: UINT, button ID
+// lParam: not used, 0
+// return: BOOL LOWORD, enabled if nonzero; HIWORD not used
+//
+
+#define TB_ISBUTTONCHECKED	(WM_USER + 10)
+// wParam: UINT, button ID
+// lParam: not used, 0
+// return: BOOL LOWORD, checked if nonzero; HIWORD not used
+//
+
+#define TB_ISBUTTONPRESSED	(WM_USER + 11)
+// wParam: UINT, button ID
+// lParam: not used, 0
+// return: BOOL LOWORD, pressed if nonzero; HIWORD not used
+//
+
+#define TB_ISBUTTONHIDDEN	(WM_USER + 12)
+// wParam: UINT, button ID
+// lParam: not used, 0
+// return: BOOL LOWORD, hidden if nonzero; HIWORD not used
+//
+
+#define TB_ISBUTTONINDETERMINATE	(WM_USER + 13)
+// wParam: UINT, button ID
+// lParam: not used, 0
+// return: BOOL LOWORD, indeterminate if nonzero; HIWORD not used
+//
+
+#define TB_SETSTATE		(WM_USER + 17)
+// wParam: UINT, button ID
+// lParam: UINT LOWORD, state bits; HIWORD not used, 0
+// return: not used
+//
+
+#define TB_GETSTATE		(WM_USER + 18)
+// wParam: UINT, button ID
+// lParam: not used, 0
+// return: UINT LOWORD, state bits; HIWORD not used
+//
+
+#define TB_ADDBITMAP		(WM_USER + 19)
+// wParam: UINT, number of button graphics in bitmap
+// lParam: one of:
+//	   HINSTANCE LOWORD, module handle; UINT HIWORD, resource id
+//	   HINSTANCE LOWORD, NULL; HBITMAP HIWORD, bitmap handle
+// return: one of:
+//	   int LOWORD, index for first new button; HIWORD not used
+//	   int LOWORD, -1 indicating error; HIWORD not used
+//
+
+#define TB_ADDBUTTONS		(WM_USER + 20)
+// wParam: UINT, number of buttons to add
+// lParam: LPTBBUTTON, pointer to array of TBBUTTON structures
+// return: not used
+//
+
+#define TB_INSERTBUTTON		(WM_USER + 21)
+// wParam: UINT, index for insertion (appended if index doesn't exist)
+// lParam: LPTBBUTTON, pointer to one TBBUTTON structure
+// return: not used
+//
+
+#define TB_DELETEBUTTON		(WM_USER + 22)
+// wParam: UINT, index of button to delete
+// lParam: not used, 0
+// return: not used
+//
+
+#define TB_GETBUTTON		(WM_USER + 23)
+// wParam: UINT, index of button to get
+// lParam: LPTBBUTTON, pointer to TBBUTTON buffer to receive button
+// return: not used
+//
+
+#define TB_BUTTONCOUNT		(WM_USER + 24)
+// wParam: not used, 0
+// lParam: not used, 0
+// return: UINT LOWORD, number of buttons; HIWORD not used
+//
+
+#define TB_COMMANDTOINDEX	(WM_USER + 25)
+// wParam: UINT, command id
+// lParam: not used, 0
+// return: UINT LOWORD, index of button (-1 if command not found);
+//	   HIWORD not used
+//
+
+
+#define TBN_BEGINDRAG	0x0201
+#define TBN_ENDDRAG	0x0203