Windows2000/private/shell/comctl32/rebar.h
2020-09-30 17:12:32 +02:00

83 lines
3.0 KiB
C

typedef struct tagREBARBAND
{
UINT fStyle;
COLORREF clrFore;
COLORREF clrBack;
LPTSTR lpText;
UINT cxText; // width of header text
int iImage;
HWND hwndChild;
UINT cxMinChild; // min width for hwndChild
UINT cyMinChild; // min height for hwndChild
UINT cxBmp;
UINT cyBmp;
HBITMAP hbmBack;
int x; // left edge of band, relative to rebar
int y; // top edge of band, relative to rebar
int cx; // total width of band
int cy; // height of band
int cxRequest; // 'requested' width for band; either requested by host or
// used as temp var during size recalculation
int cxMin; // min width for band
int cxIdeal; // hwndChild's desired width
UINT wID;
UINT cyMaxChild; // hwndChild's max height
UINT cyIntegral; // the hell if I know
UINT cyChild; // this differs from cyMinChild only in RBBS_VARIABLEHEIGHT mode
LPARAM lParam;
BITBOOL fChevron:1; // band is showing chevron button
RECT rcChevron; // chevron button rect
UINT wChevState; // chevron button state (DFCS_PUSHED, etc.)
} RBB, NEAR *PRBB;
typedef struct tagREBAR
{
CONTROLINFO ci;
HPALETTE hpal;
BITBOOL fResizeRecursed:1;
BITBOOL fResizePending:1;
BITBOOL fResizeNotify:1;
BITBOOL fRedraw:1;
BITBOOL fRecalcPending:1;
BITBOOL fRecalc:1;
BITBOOL fParentDrag:1;
BITBOOL fRefreshPending:1;
BITBOOL fResizing:1;
BITBOOL fUserPalette:1;
BITBOOL fFontCreated:1;
BITBOOL fFullOnDrag:1;
HDRAGPROXY hDragProxy;
HWND hwndToolTips;
UINT cBands;
int xBmpOrg;
int yBmpOrg;
HIMAGELIST himl;
UINT cxImage;
UINT cyImage;
HFONT hFont;
UINT cyFont;
UINT cy;
int iCapture;
POINT ptCapture;
int xStart;
PRBB rbbList;
COLORREF clrBk;
COLORREF clrText;
UINT uResizeNext; // this marks the next band to resize vertically if needed and allowed (VARIABLEHEIGHT set)
DWORD dwStyleEx;
COLORSCHEME clrsc;
POINT ptLastDragPos;
PRBB prbbHot; // band w/ hot chevron
} RB, NEAR *PRB;
void NEAR PASCAL RBPaint(PRB prb, HDC hdc);
void NEAR PASCAL RBDrawBand(PRB prb, PRBB prbb, HDC hdc);
void NEAR PASCAL RBResize(PRB prb, BOOL fForceHeightChange);
BOOL NEAR PASCAL RBSetFont(PRB prb, WPARAM wParam);
BOOL NEAR PASCAL RBGetBandInfo(PRB prb, UINT uBand, LPREBARBANDINFO lprbbi);
BOOL NEAR PASCAL RBSetBandInfo(PRB prb, UINT uBand, LPREBARBANDINFO lprbbi, BOOL fAllowRecalc);
BOOL NEAR PASCAL RBInsertBand(PRB prb, UINT uBand, LPREBARBANDINFO lprbbi);
BOOL NEAR PASCAL RBDeleteBand(PRB prb, UINT uBand);