mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.1 KiB
83 lines
3.1 KiB
// common stuff for the toolbar control
|
|
|
|
typedef struct { /* info for recreating the bitmaps */
|
|
int nButtons;
|
|
HINSTANCE hInst;
|
|
UINT wID;
|
|
} TBBMINFO, NEAR *PTBBMINFO;
|
|
|
|
typedef struct { /* instance data for toolbar window */
|
|
CONTROLINFO ci;
|
|
|
|
HDC hdcMono;
|
|
HBITMAP hbmMono;
|
|
PTBBUTTON pCaptureButton;
|
|
HWND hwndToolTips;
|
|
HWND hdlgCust;
|
|
HFONT hfontIcon;
|
|
int nBitmaps;
|
|
#ifdef GLYPHCACHE
|
|
int nSelectedBM; // currently selected pBitmaps index
|
|
#endif
|
|
PTBBMINFO pBitmaps;
|
|
#ifdef FACECACHE
|
|
HBITMAP hbmCache;
|
|
#endif
|
|
PTSTR *pStrings;
|
|
int nStrings;
|
|
int nTextRows; // # Rows of text per button
|
|
UINT uStructSize;
|
|
int iDxBitmap;
|
|
int iDyBitmap;
|
|
int iButWidth;
|
|
int iButHeight;
|
|
int iButMinWidth; // The min and max width of the button. If the app does not
|
|
int iButMaxWidth; // have an opinion on what the min and max should be, these will be 0
|
|
int iYPos;
|
|
int iNumButtons;
|
|
int dyIconFont;
|
|
int xFirstButton;
|
|
BOOL fHimlValid : 1;
|
|
BOOL fHimlNative : 1;
|
|
HIMAGELIST himl;
|
|
HIMAGELIST himlHot; // Image list for the hot-tracked image
|
|
HIMAGELIST himlDisabled; // Image list for the hot-tracked image
|
|
int nCurHTButton; // Index of the currently Hot Tracked Button
|
|
BOOL fMouseTrack; // Are we currently tracking Mouse over this toolbar ?
|
|
TBBUTTON Buttons[1]; // BUGBUG: make this a ptr to avoid lots
|
|
// of bogus code that has to deal with reallocing
|
|
// the ptb data
|
|
} TBSTATE, NEAR *PTBSTATE;
|
|
|
|
typedef struct {
|
|
/*REVIEW: index, command, flag words, resource ids should be UINT */
|
|
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 */
|
|
int idsHelp; /* string ID for button's status bar help */
|
|
} OLDTBBUTTON, FAR* LPOLDTBBUTTON;
|
|
|
|
HBITMAP FAR PASCAL SelectBM(HDC hDC, PTBSTATE pTBState, int nButton);
|
|
void FAR PASCAL DrawButton(HDC hdc, int x, int y, PTBSTATE pTBState, LPTBBUTTON ptButton);
|
|
void NEAR PASCAL DrawFace(PTBSTATE ptb, LPTBBUTTON ptButton, HDC hdc, int x, int y,
|
|
int offx, int offy, int dx, UINT state);
|
|
int FAR PASCAL TBHitTest(PTBSTATE pTBState, int xPos, int yPos);
|
|
int FAR PASCAL PositionFromID(PTBSTATE pTBState, int id);
|
|
void FAR PASCAL BuildButtonTemplates(void);
|
|
void FAR PASCAL TBInputStruct(PTBSTATE pTBState, LPTBBUTTON pButtonInt, LPTBBUTTON pButtonExt);
|
|
|
|
BOOL FAR PASCAL SaveRestore(PTBSTATE pTBState, BOOL bWrite, LPTSTR FAR *lpNames);
|
|
BOOL FAR PASCAL SaveRestoreFromReg(PTBSTATE ptb, BOOL bWrite, HKEY hkr, LPCTSTR pszSubKey, LPCTSTR pszValueName);
|
|
|
|
void FAR PASCAL CustomizeTB(PTBSTATE pTBState, int iPos);
|
|
void FAR PASCAL MoveButton(PTBSTATE pTBState, int nSource);
|
|
BOOL FAR PASCAL DeleteButton(PTBSTATE ptb, UINT uIndex);
|
|
BOOL FAR PASCAL InsertButtons(PTBSTATE ptb, UINT uWhere, UINT uButtons, LPTBBUTTON lpButtons);
|
|
|
|
BOOL FAR PASCAL SendItemNotify(PTBSTATE ptb, int iItem, int code);
|
|
void FAR PASCAL FlushToolTipsMgr(PTBSTATE ptb);
|
|
void PASCAL ReleaseMonoDC(PTBSTATE ptb);
|
|
|
|
extern const int g_dxButtonSep;
|
|
|