diff options
Diffstat (limited to 'src/vimtbar.h')
-rw-r--r-- | src/vimtbar.h | 185 |
1 files changed, 185 insertions, 0 deletions
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 |