Source code of Windows XP (NT5)
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.

82 lines
3.0 KiB

  1. typedef struct tagREBARBAND
  2. {
  3. UINT fStyle;
  4. COLORREF clrFore;
  5. COLORREF clrBack;
  6. LPTSTR lpText;
  7. UINT cxText; // width of header text
  8. int iImage;
  9. HWND hwndChild;
  10. UINT cxMinChild; // min width for hwndChild
  11. UINT cyMinChild; // min height for hwndChild
  12. UINT cxBmp;
  13. UINT cyBmp;
  14. HBITMAP hbmBack;
  15. int x; // left edge of band, relative to rebar
  16. int y; // top edge of band, relative to rebar
  17. int cx; // total width of band
  18. int cy; // height of band
  19. int cxRequest; // 'requested' width for band; either requested by host or
  20. // used as temp var during size recalculation
  21. int cxMin; // min width for band
  22. int cxIdeal; // hwndChild's desired width
  23. UINT wID;
  24. UINT cyMaxChild; // hwndChild's max height
  25. UINT cyIntegral; // ??
  26. UINT cyChild; // this differs from cyMinChild only in RBBS_VARIABLEHEIGHT mode
  27. LPARAM lParam;
  28. BITBOOL fChevron:1; // band is showing chevron button
  29. RECT rcChevron; // chevron button rect
  30. UINT wChevState; // chevron button state (DFCS_PUSHED, etc.)
  31. } RBB, NEAR *PRBB;
  32. typedef struct tagREBAR
  33. {
  34. CONTROLINFO ci;
  35. HPALETTE hpal;
  36. BITBOOL fResizeRecursed:1;
  37. BITBOOL fResizePending:1;
  38. BITBOOL fResizeNotify:1;
  39. BITBOOL fRedraw:1;
  40. BITBOOL fRecalcPending:1;
  41. BITBOOL fRecalc:1;
  42. BITBOOL fParentDrag:1;
  43. BITBOOL fRefreshPending:1;
  44. BITBOOL fResizing:1;
  45. BITBOOL fUserPalette:1;
  46. BITBOOL fFontCreated:1;
  47. BITBOOL fFullOnDrag:1;
  48. HDRAGPROXY hDragProxy;
  49. HWND hwndToolTips;
  50. UINT cBands;
  51. int xBmpOrg;
  52. int yBmpOrg;
  53. HIMAGELIST himl;
  54. UINT cxImage;
  55. UINT cyImage;
  56. HFONT hFont;
  57. UINT cyFont;
  58. UINT cy;
  59. int iCapture;
  60. POINT ptCapture;
  61. int xStart;
  62. PRBB rbbList;
  63. COLORREF clrBk;
  64. COLORREF clrText;
  65. UINT uResizeNext; // this marks the next band to resize vertically if needed and allowed (VARIABLEHEIGHT set)
  66. DWORD dwStyleEx;
  67. COLORSCHEME clrsc;
  68. POINT ptLastDragPos;
  69. PRBB prbbHot; // band w/ hot chevron
  70. } RB, NEAR *PRB;
  71. void NEAR PASCAL RBPaint(PRB prb, HDC hdc);
  72. void NEAR PASCAL RBDrawBand(PRB prb, PRBB prbb, HDC hdc);
  73. void NEAR PASCAL RBResize(PRB prb, BOOL fForceHeightChange);
  74. BOOL NEAR PASCAL RBSetFont(PRB prb, WPARAM wParam);
  75. BOOL NEAR PASCAL RBGetBandInfo(PRB prb, UINT uBand, LPREBARBANDINFO lprbbi);
  76. BOOL NEAR PASCAL RBSetBandInfo(PRB prb, UINT uBand, LPREBARBANDINFO lprbbi, BOOL fAllowRecalc);
  77. BOOL NEAR PASCAL RBInsertBand(PRB prb, UINT uBand, LPREBARBANDINFO lprbbi);
  78. BOOL NEAR PASCAL RBDeleteBand(PRB prb, UINT uBand);