ExtPaintManager.h
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:273k
源码类别:

界面编程

开发平台:

Visual C++

  1. virtual bool FixedBar_IsPaintRowBkMode(
  2. const CExtToolControlBar * pBar
  3. );
  4. enum e_2003_colors_t
  5. {
  6. _2003CLR_GRADIENT_LIGHT = __ExtMfc_2003_COLOR_SHIFT+0,
  7. _2003CLR_GRADIENT_DARK = __ExtMfc_2003_COLOR_SHIFT+1,
  8. _2003CLR_GRIPPER_DOT_LIGHT = __ExtMfc_2003_COLOR_SHIFT+2,
  9. _2003CLR_GRIPPER_DOT_DARK = __ExtMfc_2003_COLOR_SHIFT+3,
  10. _2003CLR_EXPBTN_LIGHT = __ExtMfc_2003_COLOR_SHIFT+4,
  11. _2003CLR_EXPBTN_DARK = __ExtMfc_2003_COLOR_SHIFT+5,
  12. _2003CLR_EXPBTN_HOVER_LIGHT = __ExtMfc_2003_COLOR_SHIFT+6,
  13. _2003CLR_EXPBTN_HOVER_DARK = __ExtMfc_2003_COLOR_SHIFT+7,
  14. _2003CLR_EXPBTN_PRESSED_LIGHT = __ExtMfc_2003_COLOR_SHIFT+8,
  15. _2003CLR_EXPBTN_PRESSED_DARK = __ExtMfc_2003_COLOR_SHIFT+9,
  16. _2003CLR_SEPARATOR_LIGHT = __ExtMfc_2003_COLOR_SHIFT+10,
  17. _2003CLR_SEPARATOR_DARK = __ExtMfc_2003_COLOR_SHIFT+11,
  18. _2003CLR_EXPGLYPH_LIGHT = __ExtMfc_2003_COLOR_SHIFT+12,
  19. _2003CLR_EXPGLYPH_DARK = __ExtMfc_2003_COLOR_SHIFT+13,
  20. _2003CLR_STATUSBAR_ITEM = __ExtMfc_2003_COLOR_SHIFT+14,
  21. _2003CLR_MLA_NORM_LEFT = __ExtMfc_2003_COLOR_SHIFT+15,
  22. _2003CLR_MLA_NORM_MIDDLE = __ExtMfc_2003_COLOR_SHIFT+16,
  23. _2003CLR_MLA_NORM_RIGHT = __ExtMfc_2003_COLOR_SHIFT+17,
  24. _2003CLR_MLA_RARELY_LEFT = __ExtMfc_2003_COLOR_SHIFT+18,
  25. _2003CLR_MLA_RARELY_MIDDLE = __ExtMfc_2003_COLOR_SHIFT+19,
  26. _2003CLR_MLA_RARELY_RIGHT = __ExtMfc_2003_COLOR_SHIFT+20,
  27. _2003CLR_BTN_HOVER_LEFT = __ExtMfc_2003_COLOR_SHIFT+21,
  28. _2003CLR_BTN_HOVER_RIGHT = __ExtMfc_2003_COLOR_SHIFT+22,
  29. _2003CLR_BTN_PRESSED_LEFT = __ExtMfc_2003_COLOR_SHIFT+23,
  30. _2003CLR_BTN_PRESSED_RIGHT = __ExtMfc_2003_COLOR_SHIFT+24,
  31. _2003CLR_BTN_HP_LEFT = __ExtMfc_2003_COLOR_SHIFT+25,
  32. _2003CLR_BTN_HP_RIGHT = __ExtMfc_2003_COLOR_SHIFT+26,
  33. _2003CLR_PN_BORDER = __ExtMfc_2003_COLOR_SHIFT+27,
  34. _2003CLR_PN_GRIPPER_LIGHT = __ExtMfc_2003_COLOR_SHIFT+28,
  35. _2003CLR_PN_GRIPPER_DARK = __ExtMfc_2003_COLOR_SHIFT+29,
  36. _2003CLR_PN_PANE_CAPTION_LIGHT = __ExtMfc_2003_COLOR_SHIFT+30,
  37. _2003CLR_PN_PANE_CAPTION_DARK = __ExtMfc_2003_COLOR_SHIFT+31,
  38. _2003CLR_PN_PANE_CAPTION_HOVER_LIGHT = __ExtMfc_2003_COLOR_SHIFT+32,
  39. _2003CLR_PN_PANE_CAPTION_HOVER_DARK = __ExtMfc_2003_COLOR_SHIFT+33,
  40. _2003CLR_PN_PANE_CAPTION_BOTTOM_LINE = __ExtMfc_2003_COLOR_SHIFT+34,
  41. _2003CLR_PN_ITEM_LIGHT = __ExtMfc_2003_COLOR_SHIFT+35,
  42. _2003CLR_PN_ITEM_DARK = __ExtMfc_2003_COLOR_SHIFT+36,
  43. _2003CLR_EXPBTN_CIRCLE_LIGHT = __ExtMfc_2003_COLOR_SHIFT+37,
  44. _2003CLR_EXPBTN_CIRCLE_DARK = __ExtMfc_2003_COLOR_SHIFT+38,
  45. _2003CLR_TOOLBAR_GRADIENT_LIGHT = __ExtMfc_2003_COLOR_SHIFT+39,
  46. _2003CLR_TOOLBAR_GRADIENT_MIDDLE= __ExtMfc_2003_COLOR_SHIFT+40,
  47. _2003CLR_TOOLBAR_GRADIENT_DARK = __ExtMfc_2003_COLOR_SHIFT+41,
  48. _2003CLR_TOOLBAR_BOTTOM_LINE = __ExtMfc_2003_COLOR_SHIFT+42,
  49. _2003CLR_TBB_BK_COMBINED_TOP = __ExtMfc_2003_COLOR_SHIFT+43,
  50. _2003CLR_TBB_BK_COMBINED_BOTTOM = __ExtMfc_2003_COLOR_SHIFT+44,
  51. };
  52. // install required translated color as
  53. // described in e_translated_colors_t enumeration
  54. virtual void InitTranslatedColors();
  55. virtual bool IsToolBarChevronMenuCombined();
  56. virtual bool GetCb2DbTransparentMode(
  57. CObject * pObjHelperSrc,
  58. LPARAM lParam = 0L
  59. );
  60. virtual bool PaintDockerBkgnd(
  61. bool bClientMapping,
  62. CDC & dc,
  63. CWnd * pWnd,
  64. LPARAM lParam = NULL
  65. );
  66. virtual bool PaintDockerBkgnd(
  67. bool bClientMapping,
  68. CDC & dc,
  69. const CRect &rcDst,
  70. const CRect &rcWnd,
  71. LPARAM lParam = NULL
  72. );
  73. virtual void PaintControlBarClientArea(
  74. CDC & dc,
  75. const RECT & rcClient,
  76. CObject * pHelperSrc,
  77. LPARAM lParam = 0L
  78. );
  79. virtual void PaintDockBarClientArea(
  80. CDC & dc,
  81. const RECT & rcClient,
  82. CObject * pHelperSrc,
  83. LPARAM lParam = 0L
  84. );
  85. virtual void PaintDockingFrame(
  86. CDC & dc,
  87. CExtPaintManager::PAINTDOCKINGFRAMEDATA & _pdfd
  88. );
  89. virtual void PaintGripper(
  90. CDC & dc,
  91. CExtPaintManager::PAINTGRIPPERDATA & _pgd
  92. );
  93. virtual void PaintSeparator(
  94. CDC & dc,
  95. const RECT & rectItem,
  96. bool bHorz,
  97. bool bTransparentBk,
  98. CObject * pHelperSrc,
  99. LPARAM lParam = 0L
  100. );
  101. #if (!defined __EXT_MFC_NO_TAB_CTRL)
  102. virtual void PaintTabClientArea(
  103. CDC & dc,
  104. CRect & rcClient,
  105. CRect & rcTabItemsArea,
  106. CRect & rcTabNearBorderArea,
  107. DWORD dwOrientation,
  108. bool bGroupedMode,
  109. CObject * pHelperSrc,
  110. LPARAM lParam = 0L
  111. );
  112. #endif // #if (!defined __EXT_MFC_NO_TAB_CTRL)
  113. virtual void PaintControlFrame(
  114. CDC & dc,
  115. CExtPaintManager::PAINTCONTROLFRAMEDATA & _pcfd
  116. );
  117. virtual void PaintComboFrame(
  118. CDC & dc,
  119. CExtPaintManager::PAINTCOMBOFRAMEDATA & _pcfd
  120. );
  121. virtual void PaintFloatToolbarRowBk(
  122. CDC & dc,
  123. const CExtToolControlBar * pBar,
  124. int nLastReviewBtnIdx,
  125. CRect & rcRowBk
  126. );
  127. virtual void PaintToolbarExpandButton(
  128. CDC & dc,
  129. const RECT & rcButtonArea,
  130. bool bHorz, // if false - down
  131. bool bBarIsCompletelyVisible,
  132. bool bEnabled,
  133. bool bPushed,
  134. bool bHover,
  135. CObject * pHelperSrc,
  136. LPARAM lParam = 0L,
  137. bool bTransparentBackground = false
  138. );
  139. virtual void PaintControlBarBorders(
  140. CDC & dc,
  141. CExtPaintManager::PAINTCONTROLBARBORDERSDATA & _pcbbd
  142. );
  143. virtual void PaintMenuCombinedArea(
  144. CDC & dc,
  145. const RECT & rcArea,
  146. const RECT & rcClient,
  147. int eCombineAlign, // CExtPopupMenuWnd::e_combine_align_t values
  148. CObject * pHelperSrc,
  149. LPARAM lParam = 0L
  150. );
  151. virtual void PaintMenuExpandButton(
  152. CDC & dc,
  153. const RECT & rectButton,
  154. bool bPushed,
  155. bool bHover,
  156. CObject * pHelperSrc,
  157. LPARAM lParam = 0L
  158. );
  159. virtual void PaintMenuTearOffButton(
  160. CDC & dc,
  161. const RECT & rectButton,
  162. bool bPushed,
  163. bool bHover,
  164. CObject * pHelperSrc,
  165. LPARAM lParam = 0L
  166. );
  167. virtual int GetMenuExpandButtonHeight();
  168. virtual CSize GetToolBarButtonOffset( BOOL bHorz ) const;
  169. virtual COLORREF GetIconAlphaColor() const;
  170. virtual double GetIconAlphaAdjustPercent() const;
  171. virtual bool AdjustIcon( 
  172. CExtCmdIcon * pIcon
  173. );
  174. virtual CSize FixedBar_GetRoundedAreaMerics() const;
  175. virtual void PaintResizingGripper(
  176. CDC & dc,
  177. const RECT & rcGrip,
  178. CObject * pHelperSrc,
  179. LPARAM lParam = 0L
  180. );
  181. #if (!defined __EXT_MFC_NO_PAGE_NAVIGATOR )
  182. virtual void PaintPageNavigatorBorder(
  183. CDC & dc,
  184. const RECT & rcControl
  185. );
  186. virtual void PaintPageNavigatorItemCaption(
  187. CDC & dc,
  188. const CRect & rcCaption,
  189. __EXT_MFC_SAFE_LPCTSTR strCaption
  190. );
  191. virtual void PaintPageNavigatorItemPaneCaption(
  192. CDC & dc,
  193. const CRect & rcCaption,
  194. __EXT_MFC_SAFE_LPCTSTR strCaption,
  195. bool bHover,
  196. bool bPressed,
  197. bool bExpandable,
  198. bool bExpanded,
  199. bool bDrawTopLine = true
  200. );
  201. virtual void PaintPageNavigatorItem(
  202. CDC & dc,
  203. const CRect & rcItem,
  204. __EXT_MFC_SAFE_LPCTSTR strCaption,
  205. CExtCmdIcon * pIcon,
  206. bool bExpanded,
  207. bool bSelected,
  208. bool bPushed,
  209. bool bHover
  210. );
  211. virtual void PaintPageNavigatorSplitter(
  212. CDC & dc,
  213. const CRect & rcSplitter,
  214. bool bDrawDots = true
  215. );
  216. #endif // (!defined __EXT_MFC_NO_PAGE_NAVIGATOR )
  217. #if (!defined __EXT_MFC_NO_TASK_PANE )
  218. virtual void TaskPanePaintGroupCaption(
  219. CDC & dc,
  220. const CRect & rcCaption,
  221. __EXT_MFC_SAFE_LPCTSTR strCaption,
  222. bool bHover,
  223. bool bPressed,
  224. bool bHighlighted,
  225. bool bPaintExpandButton,
  226. bool bExpanded,
  227. CObject * pHelperSrc
  228. );
  229. virtual CRect TaskPaneQueryMarginsPage() const;
  230. virtual HFONT TaskPaneQueryGroupCaptionFont();
  231. virtual CRect TaskPaneQueryGroupCaptionTextMargins() const;
  232. #endif // (!defined __EXT_MFC_NO_TASK_PANE )
  233. #if (!defined __EXT_MFC_NO_DATE_PICKER)
  234. virtual void PaintDatePickerBorder(
  235. CDC & dc,
  236. const RECT & rcControl,
  237. CObject * pHelperSrc,
  238. LPARAM lParam = 0L
  239. );
  240. virtual void PaintDatePickerHeaderBackground(
  241. INT nCol,
  242. INT nRow,
  243. CDC & dc,
  244. INT nYear,
  245. INT nMonth,
  246. const RECT & rcHeader,
  247. const RECT & rcHeaderWithoutBorders,
  248. const RECT & rcHeaderDate,
  249. const RECT & rcScrollBtnBackward,
  250. const RECT & rcScrollBtnForward,
  251. CObject * pHelperSrc,
  252. LPARAM lParam = 0L
  253. );
  254. #endif // (!defined __EXT_MFC_NO_DATE_PICKER)
  255. #if( !defined __EXT_MFC_NO_SPIN || !defined __EXT_MFC_NO_DURATIONWND )
  256. virtual void PaintSpinButton(
  257. CDC & dc,
  258. const CRect & rcButton,
  259. bool bUp,
  260. bool bHorz,
  261. bool bEnabled,
  262. bool bFlat,
  263. bool bDrawBorder,
  264. bool bPushed,
  265. bool bHover,
  266. bool bHotTrack,
  267. CObject * pHelperSrc,
  268. LPARAM lParam = 0L
  269. );
  270. #endif // #if( !defined __EXT_MFC_NO_SPIN || !defined __EXT_MFC_NO_DURATIONWND )
  271. #if (!defined __EXT_MFC_NO_DOCK_MARKERS)
  272. virtual void DockMarker_AdjustBmps(
  273. eDockMarkerType_t eDockMarkerType,
  274. CExtBitmap & bmpIn,
  275. COLORREF clrTransparentIn,
  276. CExtBitmap & bmpOut,
  277. COLORREF clrTransparentOut
  278. );
  279. virtual void DockMarker_AdjustHighlightedArea(
  280. COLORREF * pClrSurface,
  281. int nClrSurfaceDX,
  282. int nClrSurfaceDY,
  283. bool bTabShape,
  284. bool bTabsAtTop,
  285. const CRect & rcTabMainArea,
  286. const CRect & rcTabBottomMiddleArea,
  287. COLORREF clrAdjustMain = COLORREF(-1L),
  288. COLORREF clrAdjustBorder = COLORREF(-1L),
  289. int nBorderMetric = 2
  290. );
  291. virtual void DockMarker_AdjustHighlightedLayer(
  292. HWND hWnd,
  293. int nDX,
  294. int nDY,
  295. bool bTabShape,
  296. bool bTabsAtTop,
  297. const CRect & rcTabMainArea,
  298. const CRect & rcTabBottomMiddleArea,
  299. COLORREF clrAdjustMain = COLORREF(-1L),
  300. COLORREF clrAdjustBorder = COLORREF(-1L),
  301. int nBorderMetric = 2
  302. );
  303. #endif // (!defined __EXT_MFC_NO_DOCK_MARKERS)
  304. virtual void PaintBarButtonCombinedArea(
  305. CDC & dc,
  306. CExtBarButton * pTBB,
  307. LPARAM lParam = 0L
  308. );
  309. #if (!defined __EXT_MFC_NO_REPORTGRIDWND)
  310. virtual bool ReportGrid_PaintHeaderRowBackground(
  311. CDC & dc,
  312. const RECT & rcArea,
  313. CObject * pHelperSrc,
  314. LPARAM lParam = 0L
  315. );
  316. #endif // (!defined __EXT_MFC_NO_REPORTGRIDWND)
  317. // header control
  318. virtual void Header_PaintBackground(
  319. CDC & dc,
  320. CRect rc,
  321. CObject * pHelperSrc,
  322. LPARAM lParam = 0L
  323. );
  324. virtual void Header_PaintItem(
  325. CDC & dc,
  326. CRect rcItemEntire,
  327. CRect rcItemData,
  328. CRect rcIcon,
  329. CRect rcText,
  330. CRect rcSortArrow,
  331. CRect rcButton,
  332. CRect rcButtonIcon,
  333. bool bSorted,
  334. bool bSortedAscending,
  335. INT nColNo,
  336. INT nColCount,
  337. const CExtCmdIcon & iconItem,
  338. const CExtCmdIcon & iconButton,
  339. bool bHover,
  340. bool bPressed,
  341. bool bButtonEvent,
  342. __EXT_MFC_SAFE_LPCTSTR strItemText,
  343. CObject * pHelperSrc,
  344. LPARAM lParam = 0L
  345. );
  346. }; // class CExtPaintManagerOffice2003
  347. //////////////////////////////////////////////////////////////////////////
  348. // CExtPaintManagerStudio2005
  349. //////////////////////////////////////////////////////////////////////////
  350. class __PROF_UIS_API CExtPaintManagerStudio2005 : public CExtPaintManagerOffice2003
  351. {
  352. public:
  353. DECLARE_SERIAL( CExtPaintManagerStudio2005 );
  354. // construction/destruction
  355. CExtPaintManagerStudio2005();
  356. virtual ~CExtPaintManagerStudio2005();
  357. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  358. {
  359. ASSERT_VALID( this );
  360. return Studio2005;
  361. }
  362. #ifndef __EXT_MFC_NO_TAB_ONENOTE_CTRL
  363. virtual void GetTabOneNoteItemColors(
  364. bool bSelected,
  365. bool bHover,
  366. bool bEnabled,
  367. COLORREF &clrBorderLight,
  368. COLORREF &clrBorderDark,
  369. COLORREF &clrBkLight,
  370. COLORREF &clrBkDark,
  371. COLORREF &clrText
  372. );
  373. #endif // __EXT_MFC_NO_TAB_ONENOTE_CTRL
  374. virtual bool OnQueryThemeColors(
  375. COLORREF *pclrFillHint,
  376. COLORREF *pclrAccentHint = NULL
  377. );
  378. enum e_STUDIO_2005_colors_t
  379. {
  380. _STUDIO_2005CLR_BAR_CAPTION_INACTIVE = __ExtMfc_STUDIO_2005_COLOR_SHIFT+0,
  381. _STUDIO_2005CLR_BAR_CAPTION_ACTIVE_TOP = __ExtMfc_STUDIO_2005_COLOR_SHIFT+1,
  382. _STUDIO_2005CLR_BAR_CAPTION_ACTIVE_BOTTOM = __ExtMfc_STUDIO_2005_COLOR_SHIFT+2,
  383. };
  384. #if (!defined __EXT_MFC_NO_TAB_CTRL)
  385. virtual void TabWnd_MeasureItemAreaMargins(
  386. CExtTabWnd * pTabWnd,
  387. LONG & nSpaceBefore,
  388. LONG & nSpaceAfter,
  389. LONG & nSpaceOver
  390. );
  391. virtual void TabWnd_UpdateItemMeasure(
  392. CExtTabWnd * pTabWnd,
  393. CExtTabWnd::TAB_ITEM_INFO * pTii,
  394. CDC & dcMeasure,
  395. CSize & sizePreCalc
  396. );
  397. virtual void TabWnd_AdjustItemCloseButtonRect(
  398. CRect & rcCloseButton,
  399. CExtTabWnd * pTabWnd
  400. );
  401. virtual void GetThemeAccentTabColors(
  402. COLORREF * pClrSetectedTabItemText,
  403. COLORREF * pClrSetectedTabItemFace = NULL,
  404. COLORREF * pClrSetectedTabItemBorderLight = NULL,
  405. COLORREF * pClrSetectedTabItemBorderDark = NULL,
  406. CObject * pHelperSrc = NULL,
  407. LPARAM lParam = 0L
  408. );
  409. virtual void PaintTabItem(
  410. CDC & dc,
  411. CRect & rcTabItemsArea,
  412. bool bTopLeft,
  413. bool bHorz,
  414. bool bSelected,
  415. bool bCenteredText,
  416. bool bGroupedMode,
  417. bool bInGroupActive,
  418. bool bInvertedVerticalMode,
  419. const CRect & rcEntireItem,
  420. CSize sizeTextMeasured,
  421. CFont * pFont,
  422. __EXT_MFC_SAFE_LPCTSTR sText,
  423. CExtCmdIcon * pIcon,
  424. CObject * pHelperSrc,
  425. LPARAM lParam = 0L,
  426. COLORREF clrForceText = COLORREF(-1L),
  427. COLORREF clrForceTabBk = COLORREF(-1L),
  428. COLORREF clrForceTabBorderLT = COLORREF(-1L),
  429. COLORREF clrForceTabBorderRB = COLORREF(-1L),
  430. COLORREF clrForceTabSeparator = COLORREF(-1L),
  431. bool bDwmMode = false
  432. );
  433. virtual void PaintTabButton(
  434. CDC & dc,
  435. CRect & rcButton,
  436. LONG nHitTest,
  437. bool bTopLeft,
  438. bool bHorz,
  439. bool bEnabled,
  440. bool bHover,
  441. bool bPushed,
  442. bool bGroupedMode,
  443. CObject * pHelperSrc,
  444. LPARAM lParam = 0L,
  445. bool bFlat = false
  446. );
  447. virtual void PaintTabClientArea(
  448. CDC & dc,
  449. CRect & rcClient,
  450. CRect & rcTabItemsArea,
  451. CRect & rcTabNearBorderArea,
  452. DWORD dwOrientation,
  453. bool bGroupedMode,
  454. CObject * pHelperSrc,
  455. LPARAM lParam = 0L
  456. );
  457. virtual void PaintTabbedTabClientArea(
  458. CDC & dc,
  459. CRect & rcClient,
  460. CRect & rcTabItemsArea,
  461. CRect & rcTabNearBorderArea,
  462. DWORD dwOrientation,
  463. bool bGroupedMode,
  464. CObject * pHelperSrc,
  465. LPARAM lParam = 0L
  466. );
  467. #endif // #if (!defined __EXT_MFC_NO_TAB_CTRL)
  468. virtual int GetThemeDockingType() const;
  469. #if (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
  470. virtual int GetAutoHideTabsType() const;
  471. #endif // (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
  472. // install required translated color as
  473. // described in e_translated_colors_t enumeration
  474. virtual void InitTranslatedColors();
  475. #if (!defined __EXT_MFC_NO_DOCK_MARKERS)
  476. virtual void DockMarker_AdjustBmps(
  477. eDockMarkerType_t eDockMarkerType,
  478. CExtBitmap & bmpIn,
  479. COLORREF clrTransparentIn,
  480. CExtBitmap & bmpOut,
  481. COLORREF clrTransparentOut
  482. );
  483. #endif // (!defined __EXT_MFC_NO_DOCK_MARKERS)
  484. virtual COLORREF GetShadowAdjustColor();
  485. virtual void PaintGripper(
  486. CDC & dc,
  487. CExtPaintManager::PAINTGRIPPERDATA & _pgd
  488. );
  489. virtual void PaintDockingFrame(
  490. CDC & dc,
  491. CExtPaintManager::PAINTDOCKINGFRAMEDATA & _pdfd
  492. );
  493. virtual void PaintDockingCaptionButton(
  494. CDC & dc,
  495. CExtPaintManager::PAINTDOCKINGCAPTIONBUTTONDATA & _pdcbd
  496. );
  497. virtual COLORREF GetIconAlphaColor() const;
  498. virtual double GetIconAlphaAdjustPercent() const;
  499. virtual void PaintSeparator(
  500. CDC & dc,
  501. const RECT & rectItem,
  502. bool bHorz,
  503. bool bTransparentBk,
  504. CObject * pHelperSrc,
  505. LPARAM lParam = 0L
  506. );
  507. #if (!defined __EXT_MFC_NO_RIBBON_BAR)
  508. virtual void Ribbon_PaintPageBk(
  509. CDC & dc,
  510. const RECT & rcPageBk,
  511. const CExtRibbonPage * pRibbonPage,
  512. LPARAM lParam = 0L
  513. );
  514. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  515. }; // class CExtPaintManagerStudio2005
  516. //////////////////////////////////////////////////////////////////////////
  517. // CExtPaintManagerStudio2008
  518. //////////////////////////////////////////////////////////////////////////
  519. class __PROF_UIS_API CExtPaintManagerStudio2008 : public CExtPaintManagerStudio2005
  520. {
  521. public:
  522. DECLARE_SERIAL( CExtPaintManagerStudio2008 );
  523. // construction/destruction
  524. CExtPaintManagerStudio2008();
  525. virtual ~CExtPaintManagerStudio2008();
  526. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  527. {
  528. ASSERT_VALID( this );
  529. return Studio2008;
  530. }
  531. enum e_STUDIO_2008_colors_t
  532. {
  533. _STUDIO_2008CLR_MENU_ITEM_LEFT_AREA_MARGIN_LEFT = __ExtMfc_STUDIO_2008_COLOR_SHIFT + 0,
  534. _STUDIO_2008CLR_MENU_ITEM_LEFT_AREA_MARGIN_RIGHT = __ExtMfc_STUDIO_2008_COLOR_SHIFT + 1,
  535. };
  536. virtual bool OnQueryUseThemeColors() const;
  537. virtual int GetMenuIconAreaWidth() const;
  538. virtual bool IsMenuMustCombineExcludeArea(
  539. const CObject * pMenuTrackerObject = NULL
  540. ) const;
  541. virtual void PaintPushButton(
  542. CDC & dc,
  543. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  544. );
  545. virtual void PaintMenuItemLeftAreaMarginXP(
  546. CDC & dc,
  547. CExtPaintManager::PAINTMENUITEMDATA & _pmid,
  548. const RECT & rcFillLeftPart,
  549. const RECT & rcFillRightPart
  550. );
  551. virtual bool PaintMenuItemSelectionAreaXP(
  552. CDC & dc,
  553. CExtPaintManager::PAINTMENUITEMDATA & _pmid,
  554. const RECT & rcSelectionArea
  555. );
  556. #if (!defined __EXT_MFC_NO_TAB_CTRL)
  557. virtual bool QueryTabWndHoverChangingRedraw(
  558. const CExtTabWnd * pWndTab,
  559. LPARAM lParam = 0L
  560. );
  561. virtual void TabWnd_MeasureItemAreaMargins(
  562. CExtTabWnd * pTabWnd,
  563. LONG & nSpaceBefore,
  564. LONG & nSpaceAfter,
  565. LONG & nSpaceOver
  566. );
  567. virtual void TabWnd_UpdateItemMeasure(
  568. CExtTabWnd * pTabWnd,
  569. CExtTabWnd::TAB_ITEM_INFO * pTii,
  570. CDC & dcMeasure,
  571. CSize & sizePreCalc
  572. );
  573. virtual bool TabWnd_GetParentSizingMargin(
  574. INT & nMargin,
  575. DWORD dwOrientation,
  576. CExtTabWnd * pTabWnd
  577. ) const;
  578. virtual void PaintTabItem(
  579. CDC & dc,
  580. CRect & rcTabItemsArea,
  581. bool bTopLeft,
  582. bool bHorz,
  583. bool bSelected,
  584. bool bCenteredText,
  585. bool bGroupedMode,
  586. bool bInGroupActive,
  587. bool bInvertedVerticalMode,
  588. const CRect & rcEntireItem,
  589. CSize sizeTextMeasured,
  590. CFont * pFont,
  591. __EXT_MFC_SAFE_LPCTSTR sText,
  592. CExtCmdIcon * pIcon,
  593. CObject * pHelperSrc,
  594. LPARAM lParam = 0L,
  595. COLORREF clrForceText = COLORREF(-1L),
  596. COLORREF clrForceTabBk = COLORREF(-1L),
  597. COLORREF clrForceTabBorderLT = COLORREF(-1L),
  598. COLORREF clrForceTabBorderRB = COLORREF(-1L),
  599. COLORREF clrForceTabSeparator = COLORREF(-1L),
  600. bool bDwmMode = false
  601. );
  602. #endif // #if (!defined __EXT_MFC_NO_TAB_CTRL)
  603. virtual int GetThemeDockingType() const;
  604. #if (!defined __EXT_MFC_NO_DOCK_MARKERS)
  605. virtual BYTE DockMarker_GetAlpha(
  606. bool bHighlight,
  607. CObject * pHelperSrc,
  608. LPARAM lParam = 0L
  609. );
  610. virtual bool DockMarker_IsAdjustBmpsRequired(
  611. eDockMarkerType_t eDockMarkerType
  612. ) const;
  613. virtual void DockMarker_AdjustBmps(
  614. eDockMarkerType_t eDockMarkerType,
  615. CExtBitmap & bmpIn,
  616. COLORREF clrTransparentIn,
  617. CExtBitmap & bmpOut,
  618. COLORREF clrTransparentOut
  619. );
  620. #endif // (!defined __EXT_MFC_NO_DOCK_MARKERS)
  621. virtual void InitTranslatedColors();
  622. protected:
  623. CExtBitmapCache
  624. m_bmpMenuItemLunaBlue,
  625. m_bmpMenuItemLunaOliveGreen,
  626. m_bmpMenuItemLunaSilver,
  627. m_bmpMenuItemLunaRoyale,
  628. m_bmpMenuItemVista,
  629. m_bmpMenuItemOther;
  630. }; // class CExtPaintManagerStudio2008
  631. //////////////////////////////////////////////////////////////////////////
  632. // CExtPaintManagerNativeXP
  633. //////////////////////////////////////////////////////////////////////////
  634. class __PROF_UIS_API CExtPaintManagerNativeXP : public CExtPaintManager
  635. {
  636. public:
  637. DECLARE_SERIAL( CExtPaintManagerNativeXP );
  638. // construction/destruction
  639. CExtPaintManagerNativeXP();
  640. virtual ~CExtPaintManagerNativeXP();
  641. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  642. {
  643. ASSERT_VALID( this );
  644. return NativeXP;
  645. }
  646. virtual bool OnQueryUseThemeColors() const;
  647. virtual void InitTranslatedColors();
  648. virtual bool PaintDockerBkgnd(
  649. bool bClientMapping,
  650. CDC & dc,
  651. CWnd * pWnd,
  652. LPARAM lParam = NULL
  653. );
  654. virtual bool GetCb2DbTransparentMode(
  655. CObject * pObjHelperSrc,
  656. LPARAM lParam = 0L
  657. );
  658. virtual void PaintControlFrame(
  659. CDC & dc,
  660. CExtPaintManager::PAINTCONTROLFRAMEDATA & _pcfd
  661. );
  662. virtual void PaintComboFrame(
  663. CDC & dc,
  664. CExtPaintManager::PAINTCOMBOFRAMEDATA & _pcfd
  665. );
  666. virtual void PaintPushButton(
  667. CDC & dc,
  668. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  669. );
  670. virtual void PaintPushButtonText(
  671. CDC & dc,
  672. CRect & rcCaption,
  673. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  674. );
  675. virtual void PaintPushButtonIcon(
  676. CDC & dc,
  677. CRect & rcClient,
  678. CRect & rcCaption,
  679. CRect & rcFocus,
  680. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  681. );
  682. virtual INT GetDropDownButtonWidth(
  683. CObject * pHelperSrc = NULL,
  684. LPARAM lParam = 0L
  685. ) const;
  686. virtual INT GetSpinButtonWidth(
  687. CObject * pHelperSrc = NULL,
  688. LPARAM lParam = 0L
  689. ) const;
  690. virtual CRect GetSpinButtonMargins(
  691. CObject * pHelperSrc = NULL,
  692. LPARAM lParam = 0L
  693. ) const;
  694. virtual void PaintToolbarExpandButton(
  695. CDC & dc,
  696. const RECT & rcButtonArea,
  697. bool bHorz, // if false - down
  698. bool bBarIsCompletelyVisible,
  699. bool bEnabled,
  700. bool bPushed,
  701. bool bHover,
  702. CObject * pHelperSrc,
  703. LPARAM lParam = 0L,
  704. bool bTransparentBackground = false
  705. );
  706. virtual bool Toolbar_GetSizeOfCEB(
  707. SIZE & sizeReal,
  708. const SIZE & sizePreCalc,
  709. CDC & dc,
  710. BOOL bHorz,
  711. CExtBarContentExpandButton * pTBB,
  712. LPARAM lParam = 0
  713. );
  714. virtual void PaintMenuExpandButton(
  715. CDC & dc,
  716. const RECT & rectButton,
  717. bool bPushed,
  718. bool bHover,
  719. CObject * pHelperSrc,
  720. LPARAM lParam = 0L
  721. );
  722. virtual CRect GetMenuBorderMetrics(
  723. CWnd * pWnd,
  724. LPARAM lParam = 0
  725. ) const;
  726. virtual void PaintMenuBorder(
  727. CDC & dc,
  728. const RECT & rectClient,
  729. CObject * pHelperSrc,
  730. LPARAM lParam = 0L
  731. );
  732. virtual bool PaintMenuItem_UX(
  733. HWND hWnd,
  734. CDC & dc,
  735. CExtPaintManager::PAINTMENUITEMDATA & _pmid
  736. );
  737. virtual void PaintMenuItem(
  738. CDC & dc,
  739. CExtPaintManager::PAINTMENUITEMDATA & _pmid
  740. );
  741. virtual void PaintMenuItemIcon(
  742. CDC & dc,
  743. CExtPaintManager::PAINTMENUITEMDATA & _pmid
  744. );
  745. virtual void PaintMenuTearOffButton(
  746. CDC & dc,
  747. const RECT & rectButton,
  748. bool bPushed,
  749. bool bHover,
  750. CObject * pHelperSrc,
  751. LPARAM lParam = 0L
  752. );
  753. virtual bool PaintSysCmdGlyph_UX(
  754. HWND hWnd,
  755. CDC & dc,
  756. UINT nHelperSysCmdID,
  757. const RECT & rcItem,
  758. bool bHover,
  759. bool bPushed,
  760. bool bEnabled,
  761. COLORREF clrForceGlyphColor = COLORREF(-1L)
  762. );
  763. virtual bool PaintMenuItemIcon_UX(
  764. HWND hWnd,
  765. CDC & dc,
  766. CExtPaintManager::PAINTMENUITEMDATA & _pmid
  767. );
  768. virtual void PaintMenuItemInPlaceWnd(
  769. CDC & dc,
  770. CExtPaintManager::PAINTMENUITEMDATA & _pmid
  771. );
  772. virtual bool PaintMenuSeparator_UX(
  773. HWND hWnd,
  774. CDC & dc,
  775. const RECT & rectItem,
  776. int nIconAreaWidth,
  777. bool bRarelyUsed,
  778. bool bIsForceNoLeftGradient,
  779. CObject * pHelperSrc,
  780. LPARAM lParam = 0L
  781. );
  782. virtual void PaintMenuSeparator(
  783. CDC & dc,
  784. const RECT & rectItem,
  785. int nIconAreaWidth,
  786. bool bRarelyUsed,
  787. bool bIsForceNoLeftGradient,
  788. CObject * pHelperSrc,
  789. LPARAM lParam = 0L
  790. );
  791. virtual void PaintSeparator(
  792. CDC & dc,
  793. const RECT & rectItem,
  794. bool bHorz,
  795. bool bTransparentBk,
  796. CObject * pHelperSrc,
  797. LPARAM lParam = 0L
  798. );
  799. virtual void PaintResizingGripper(
  800. CDC & dc,
  801. const RECT & rcGrip,
  802. CObject * pHelperSrc,
  803. LPARAM lParam = 0L
  804. );
  805. virtual COLORREF GetMenuFrameFillColor(
  806. CObject * pHelperSrc,
  807. LPARAM lParam = 0L
  808. );
  809. virtual void PaintControlBarClientArea(
  810. CDC & dc,
  811. const RECT & rcClient,
  812. CObject * pHelperSrc,
  813. LPARAM lParam = 0L
  814. );
  815. virtual void PaintDockBarClientArea(
  816. CDC & dc,
  817. const RECT & rcClient,
  818. CObject * pHelperSrc,
  819. LPARAM lParam = 0L
  820. );
  821. virtual void PaintControlBarBorders(
  822. CDC & dc,
  823. CExtPaintManager::PAINTCONTROLBARBORDERSDATA & _pcbbd
  824. );
  825. virtual void PaintGripper(
  826. CDC & dc,
  827. CExtPaintManager::PAINTGRIPPERDATA & _pgd
  828. );
  829. virtual void PaintDockingFrame(
  830. CDC & dc,
  831. CExtPaintManager::PAINTDOCKINGFRAMEDATA & _pdfd
  832. );
  833. virtual void FixedBar_AdjustClientRect(
  834. const CExtControlBar * pBar,
  835. CRect & rcPreCalc
  836. );
  837. virtual void PaintDockingCaptionButton(
  838. CDC & dc,
  839. CExtPaintManager::PAINTDOCKINGCAPTIONBUTTONDATA & _pdcbd
  840. );
  841. virtual bool Bar_LayoutNcAreaButton(
  842. RECT & rcButton,
  843. const RECT & rcCaption,
  844. CExtBarNcAreaButton * pLayoutBtn,
  845. CExtBarNcAreaButton * pPrevBtn,
  846. CObject * pHelperSrc,
  847. LPARAM lParam = 0L
  848. ) const;
  849. virtual bool Bar_MiniDockFrameGetNcMetrics(
  850. INT & nResizingFrameDX,
  851. INT & nResizingFrameDY,
  852. INT & nCaptionDY,
  853. CExtMiniDockFrameWnd * pMiniFrameWnd,
  854. CExtControlBar * pBar,
  855. LPARAM lParam = 0
  856. ) const;
  857. #if (!defined __EXT_MFC_NO_TAB_CTRL)
  858. virtual bool QueryTabWndHoverChangingRedraw(
  859. const CExtTabWnd * pWndTab,
  860. LPARAM lParam = 0L
  861. );
  862. virtual void TabWnd_MeasureItemAreaMargins(
  863. CExtTabWnd * pTabWnd,
  864. LONG & nSpaceBefore,
  865. LONG & nSpaceAfter,
  866. LONG & nSpaceOver
  867. );
  868. virtual void TabWnd_UpdateItemMeasure(
  869. CExtTabWnd * pTabWnd,
  870. CExtTabWnd::TAB_ITEM_INFO * pTii,
  871. CDC & dcMeasure,
  872. CSize & sizePreCalc
  873. );
  874. virtual bool TabWnd_GetParentSizingMargin(
  875. INT & nMargin,
  876. DWORD dwOrientation,
  877. CExtTabWnd * pTabWnd
  878. ) const;
  879. virtual void PaintTabNcAreaRect(
  880. CDC & dc,
  881. const RECT & rc,
  882. CObject * pHelperSrc,
  883. LPARAM lParam = 0L
  884. );
  885. virtual void PaintTabClientArea(
  886. CDC & dc,
  887. CRect & rcClient,
  888. CRect & rcTabItemsArea,
  889. CRect & rcTabNearBorderArea,
  890. DWORD dwOrientation,
  891. bool bGroupedMode,
  892. CObject * pHelperSrc,
  893. LPARAM lParam = 0L
  894. );
  895. virtual void PaintTabItem(
  896. CDC & dc,
  897. CRect & rcTabItemsArea,
  898. bool bTopLeft,
  899. bool bHorz,
  900. bool bSelected,
  901. bool bCenteredText,
  902. bool bGroupedMode,
  903. bool bInGroupActive,
  904. bool bInvertedVerticalMode,
  905. const CRect & rcEntireItem,
  906. CSize sizeTextMeasured,
  907. CFont * pFont,
  908. __EXT_MFC_SAFE_LPCTSTR sText,
  909. CExtCmdIcon * pIcon,
  910. CObject * pHelperSrc,
  911. LPARAM lParam = 0L,
  912. COLORREF clrForceText = COLORREF(-1L),
  913. COLORREF clrForceTabBk = COLORREF(-1L),
  914. COLORREF clrForceTabBorderLT = COLORREF(-1L),
  915. COLORREF clrForceTabBorderRB = COLORREF(-1L),
  916. COLORREF clrForceTabSeparator = COLORREF(-1L),
  917. bool bDwmMode = false
  918. );
  919. #endif // (!defined __EXT_MFC_NO_TAB_CTRL)
  920. #ifndef __EXT_MFC_NO_STATUSBAR
  921. virtual bool StatusBar_EraseBackground(
  922. CDC & dc,
  923. const RECT & rcClient,
  924. const CExtStatusControlBar * pStatusBar,
  925. LPARAM lParam = 0
  926. ) const;
  927. virtual bool StatusBar_ErasePaneBackground(
  928. CDC & dc,
  929. int nPaneIdx,
  930. const RECT & rcPane,
  931. const CExtStatusControlBar * pStatusBar,
  932. LPARAM lParam = 0
  933. ) const;
  934. virtual bool StatusBar_PaintSeparator(
  935. CDC & dc,
  936. int nPaneIdxAfterSep,
  937. const RECT & rcPaneBefore,
  938. const RECT & rcPaneAfter,
  939. const CExtStatusControlBar * pStatusBar,
  940. LPARAM lParam = 0
  941. ) const;
  942. #endif // __EXT_MFC_NO_STATUSBAR
  943. #if( !defined __EXT_MFC_NO_SPIN || !defined __EXT_MFC_NO_DURATIONWND )
  944. virtual CRect Spin_QueryNcAreaMargins(
  945. bool bSpinAlignRight,
  946. bool bSpinAlignLeft,
  947. bool bHasScrolBars
  948. ) const;
  949. virtual void PaintSpinButton(
  950. CDC & dc,
  951. const CRect & rcButton,
  952. bool bUp,
  953. bool bHorz,
  954. bool bEnabled,
  955. bool bFlat,
  956. bool bDrawBorder,
  957. bool bPushed,
  958. bool bHover,
  959. bool bHotTrack,
  960. CObject * pHelperSrc,
  961. LPARAM lParam = 0L
  962. );
  963. #endif // #if( !defined __EXT_MFC_NO_SPIN || !defined __EXT_MFC_NO_DURATIONWND )
  964. #ifndef __EXT_MFC_NO_SLIDER
  965. virtual bool PaintSliderChannel(
  966. CDC & dc,
  967. const CRect & rcChannel,
  968. bool bHorz,
  969. bool bEnabled,
  970. CObject * pHelperSrc,
  971. LPARAM lParam = 0L
  972. );
  973. virtual bool PaintSliderThumb(
  974. CDC & dc,
  975. const CRect & rcThumb,
  976. bool bHorz,
  977. bool bLeft,
  978. bool bRight,
  979. bool bEnabled,
  980. bool bPushed,
  981. bool bFocused,
  982. bool bHover,
  983. CObject * pHelperSrc,
  984. LPARAM lParam = 0L
  985. );
  986. #endif // __EXT_MFC_NO_SLIDER
  987. #ifndef __EXT_MFC_NO_DURATIONWND
  988. virtual INT Duration_GetSpinButtonWidth(
  989. const CObject * pHelperSrc,
  990. LPARAM lParam = 0L
  991. ) const;
  992. virtual INT Duration_GetDropDownButtonWidth(
  993. const CObject * pHelperSrc,
  994. LPARAM lParam = 0L
  995. ) const;
  996. virtual CRect Duration_GetSpinButtonExtraSpace(
  997. const CObject * pHelperSrc,
  998. LPARAM lParam = 0L
  999. ) const;
  1000. virtual CRect Duration_GetDropDownButtonExtraSpace(
  1001. const CObject * pHelperSrc,
  1002. LPARAM lParam = 0L
  1003. ) const;
  1004. virtual void Duration_PaintSpinButton(
  1005. CDC & dc,
  1006. const CRect & rcButton,
  1007. bool bUp,
  1008. bool bEnabled,
  1009. bool bPushed,
  1010. bool bHovered,
  1011. CObject * pHelperSrc,
  1012. LPARAM lParam = 0L
  1013. );
  1014. virtual void Duration_PaintDropDownButton(
  1015. CDC & dc,
  1016. const CRect & rcButton,
  1017. bool bEnabled,
  1018. bool bPushed,
  1019. bool bHovered,
  1020. CObject * pHelperSrc,
  1021. LPARAM lParam = 0L
  1022. );
  1023. #endif // __EXT_MFC_NO_DURATIONWND
  1024. #if (!defined __EXT_MFC_NO_TASK_PANE )
  1025. virtual void TaskPanePaintGroupCaption(
  1026. CDC & dc,
  1027. const CRect & rcCaption,
  1028. __EXT_MFC_SAFE_LPCTSTR strCaption,
  1029. bool bHover,
  1030. bool bPressed,
  1031. bool bHighlighted,
  1032. bool bPaintExpandButton,
  1033. bool bExpanded,
  1034. CObject * pHelperSrc
  1035. );
  1036. virtual CRect TaskPaneQueryGroupCaptionTextMargins() const;
  1037. #endif // (!defined __EXT_MFC_NO_TASK_PANE )
  1038. #ifndef __EXT_MFC_NO_GRIDWND
  1039. virtual bool Grid_PaintHeaderSortArrow(
  1040. CDC & dc,
  1041. const RECT & rcSortArrow,
  1042. bool bHorz,
  1043. bool bAscending,
  1044. COLORREF * pColorValues,
  1045. CObject * pHelperSrc,
  1046. LPARAM lParam = 0L
  1047. );
  1048. virtual bool Grid_PaintHeaderBackground(
  1049. CDC & dc,
  1050. const RECT & rcArea,
  1051. LONG nColNo,
  1052. LONG nRowNo,
  1053. INT nColType,
  1054. INT nRowType,
  1055. DWORD dwAreaFlags,
  1056. DWORD dwHelperPaintFlags,
  1057. CObject * pHelperSrc,
  1058. LPARAM lParam = 0L
  1059. );
  1060. #endif // #ifndef __EXT_MFC_NO_GRIDWND
  1061. #if (!defined __EXT_MFC_NO_REPORTGRIDWND)
  1062. virtual bool ReportGrid_PaintHeaderRowBackground(
  1063. CDC & dc,
  1064. const RECT & rcArea,
  1065. CObject * pHelperSrc,
  1066. LPARAM lParam = 0L
  1067. );
  1068. virtual bool ReportGrid_PaintHeaderSortArrow(
  1069. CDC & dc,
  1070. const RECT & rcSortArrow,
  1071. bool bAscending,
  1072. CObject * pHelperSrc,
  1073. LPARAM lParam = 0L
  1074. );
  1075. virtual bool ReportGrid_PaintGroupAreaBackground(
  1076. CDC & dc,
  1077. const RECT & rcArea,
  1078. __EXT_MFC_SAFE_LPCTSTR strEmptyAreaCaption, // not NULL if area is empty
  1079. CObject * pHelperSrc,
  1080. LPARAM lParam = 0L
  1081. );
  1082. virtual COLORREF ReportGrid_GetHeaderTextColor(
  1083. CObject * pHelperSrc,
  1084. LPARAM lParam = 0L
  1085. );
  1086. #endif // (!defined __EXT_MFC_NO_REPORTGRIDWND)
  1087. #if (!defined __EXT_MFC_NO_RIBBON_BAR)
  1088. virtual INT Ribbon_GetTabIntersectionHeight(
  1089. const CExtRibbonPage * pRibbonPage,
  1090. LPARAM lParam = 0L
  1091. ) const;
  1092. virtual void Ribbon_PaintTabItem(
  1093. CDC & dc,
  1094. CRect & rcTabItemsArea,
  1095. bool bSelected,
  1096. const CRect & rcEntireItem,
  1097. CFont * pFont,
  1098. __EXT_MFC_SAFE_LPCTSTR sText,
  1099. CExtCmdIcon * pIcon,
  1100. CObject * pHelperSrc,
  1101. LPARAM lParam = 0L,
  1102. COLORREF clrForceText = COLORREF(-1L),
  1103. COLORREF clrForceTabBk = COLORREF(-1L),
  1104. COLORREF clrForceTabBorderLT = COLORREF(-1L),
  1105. COLORREF clrForceTabBorderRB = COLORREF(-1L),
  1106. COLORREF clrForceTabSeparator = COLORREF(-1L)
  1107. );
  1108. virtual void Ribbon_PaintPageBk(
  1109. CDC & dc,
  1110. const RECT & rcPageBk,
  1111. const CExtRibbonPage * pRibbonPage,
  1112. LPARAM lParam = 0L
  1113. );
  1114. virtual CRect Ribbon_GetPageOuterContentPadding(
  1115. const CExtRibbonPage * pRibbonPage,
  1116. LPARAM lParam = 0L
  1117. );
  1118. virtual INT Ribbon_GetGroupHeight(
  1119. const CExtRibbonButtonGroup * pGroupTBB,
  1120. LPARAM lParam = 0L
  1121. );
  1122. virtual void RibbonQuickAccessBar_PaintBkAtTheBottom(
  1123. CDC & dc,
  1124. CRect rcQATB,
  1125. const CExtRibbonPage * pRibbonPage,
  1126. LPARAM lParam = 0L
  1127. ) const;
  1128. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  1129. virtual void AdvTip_CalcRgn(
  1130. HRGN hRgnPrecalc,
  1131. const RECT & rcRectRgn,
  1132. bool bDynamicShadowApplied,
  1133. INT nSizeInnerShadowIncluded,
  1134. CObject * pHelperSrc,
  1135. LPARAM lParam = 0L
  1136. );
  1137. virtual bool AdvTip_PaintBackground(
  1138. CDC & dc,
  1139. const RECT & rcClient,
  1140. bool bAdvTipWithShadow,
  1141. CObject * pHelperSrc,
  1142. LPARAM lParam = 0L
  1143. );
  1144. virtual CFont * AdvTip_GetFont(
  1145. CObject * pHelperSrc,
  1146. LPARAM lParam = 0L
  1147. );
  1148. virtual COLORREF AdvTip_GetTextColor(
  1149. CObject * pHelperSrc,
  1150. LPARAM lParam = 0L
  1151. );
  1152. virtual CSize GetPushedOffset();
  1153. virtual const CExtAnimationParameters *
  1154. Animation_GetParameters(
  1155. INT eAPT, // __EAPT_*** animation type
  1156. CObject * pHelperSrc,
  1157. const CExtAnimationClient * pAC,
  1158. LPARAM lParam = 0L
  1159. ) const;
  1160. virtual bool PaintProgress(
  1161. CDC & dc,
  1162. PAINTPROGRESSDATA & _ppd
  1163. );
  1164. // header control
  1165. virtual void Header_PaintBackground(
  1166. CDC & dc,
  1167. CRect rc,
  1168. CObject * pHelperSrc,
  1169. LPARAM lParam = 0L
  1170. );
  1171. virtual void Header_PaintItem(
  1172. CDC & dc,
  1173. CRect rcItemEntire,
  1174. CRect rcItemData,
  1175. CRect rcIcon,
  1176. CRect rcText,
  1177. CRect rcSortArrow,
  1178. CRect rcButton,
  1179. CRect rcButtonIcon,
  1180. bool bSorted,
  1181. bool bSortedAscending,
  1182. INT nColNo,
  1183. INT nColCount,
  1184. const CExtCmdIcon & iconItem,
  1185. const CExtCmdIcon & iconButton,
  1186. bool bHover,
  1187. bool bPressed,
  1188. bool bButtonEvent,
  1189. __EXT_MFC_SAFE_LPCTSTR strItemText,
  1190. CObject * pHelperSrc,
  1191. LPARAM lParam = 0L
  1192. );
  1193. static bool stat_PaintHeaderPartUsingUxTheme(
  1194. CDC & dc,
  1195. CRect rc,
  1196. CObject * pHelperSrc,
  1197. LPARAM lParam,
  1198. bool bDrawItemLikeBackground = false,
  1199. bool bHover = false,
  1200. bool bPressed = false
  1201. );
  1202. }; // class CExtPaintManagerNativeXP
  1203. //////////////////////////////////////////////////////////////////////////
  1204. // class CExtPaintManagerOffice2003NoThemes
  1205. //////////////////////////////////////////////////////////////////////////
  1206. class __PROF_UIS_API CExtPaintManagerOffice2003NoThemes : public CExtPaintManagerOffice2003
  1207. {
  1208. public:    
  1209. DECLARE_SERIAL( CExtPaintManagerOffice2003NoThemes );
  1210. // construction/destruction
  1211. CExtPaintManagerOffice2003NoThemes();
  1212. virtual ~CExtPaintManagerOffice2003NoThemes();
  1213. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  1214. {
  1215. ASSERT_VALID( this );
  1216. return Office2003NoThemes;
  1217. }
  1218. virtual bool OnQueryUseThemeColors() const;
  1219. double GetIconAlphaAdjustPercent() const;
  1220. COLORREF GetIconAlphaColor() const;
  1221. }; // class CExtPaintManagerOffice2003NoThemes
  1222. //////////////////////////////////////////////////////////////////////////
  1223. // CExtPaintManagerOffice2007_Impl
  1224. //////////////////////////////////////////////////////////////////////////
  1225. class __PROF_UIS_API CExtPaintManagerOffice2007_Impl : public CExtPaintManagerOffice2003
  1226. {
  1227. public:
  1228. DECLARE_DYNAMIC( CExtPaintManagerOffice2007_Impl )
  1229. bool m_bThemedMenuItemsEverywhere:1;
  1230. // construction/destruction
  1231. CExtPaintManagerOffice2007_Impl();
  1232. virtual ~CExtPaintManagerOffice2007_Impl();
  1233. COLORREF m_clrIconAlphaColor;
  1234. double m_lfIconAlphaAdjustPercent;
  1235. virtual COLORREF GetIconAlphaColor() const;
  1236. virtual double GetIconAlphaAdjustPercent() const;
  1237. COLORREF m_clrTransparentNcFrameActive, m_clrTransparentNcFrameInactive;
  1238. CExtBitmapCache m_bmpNcFrameActive, m_bmpNcFrameInactive;
  1239. CRect m_rcNcFrameBordersActive, m_rcNcFrameBordersInactive;
  1240. INT m_nCaptionHeightActive, m_nCaptionHeightInactive;
  1241. bool m_bUseNcFrameBmpForDockerBkgnd:1;
  1242. COLORREF m_clrNcFrameTextActive, m_clrNcFrameTextInactive;
  1243. CExtBitmapCache m_bmpNcButtonBkHover, m_bmpNcButtonBkHoverX, m_bmpNcButtonBkPressed, m_bmpNcButtonBkPressedX;
  1244. CRect m_rcNcButtonBkPadding;
  1245. CSize m_sizeNcButtonShapeInArr;
  1246. CExtBitmapCache m_bmpArrNcButtonsHelp, m_bmpArrNcButtonsClose, m_bmpArrNcButtonsMaximize,
  1247. m_bmpArrNcButtonsRestore, m_bmpArrNcButtonsMinimize;
  1248. INT m_nNcBtnIdxDisabled, m_nNcBtnIdxNormalActive, m_nNcBtnIdxNormalInactive, m_nNcBtnIdxHover, m_nNcBtnIdxPressed;
  1249. virtual bool NcFrame_IsSupported(
  1250. const CWnd * pWnd,
  1251. LPARAM lParam = 0L
  1252. ) const;
  1253. virtual HRGN NcFrame_GenerateSkinFrameRGN(
  1254. const RECT & rcWnd,
  1255. const CWnd * pWnd,
  1256. LPARAM lParam = 0L
  1257. ) const;
  1258. virtual INT NcFrame_GetCaptionHeight(
  1259. bool bActive,
  1260. const CWnd * pWnd,
  1261. LPARAM lParam = 0L
  1262. ) const;
  1263. virtual void NcFrame_GetMetrics(
  1264. RECT & rcNcBorders,
  1265. RECT & rcThemePadding,
  1266. const CWnd * pWnd,
  1267. LPARAM lParam = 0L
  1268. ) const;
  1269. virtual CRect NcFrame_GetHtRect(
  1270. UINT nHT,
  1271. bool bScreenMapping,
  1272. bool bLayoutBordersH,
  1273. bool bLayoutBordersV,
  1274. const CExtCmdIcon * pIcon,
  1275. const CWnd * pWnd,
  1276. LPMINMAXINFO pMinMaxInfo = NULL,
  1277. LPARAM lParam = 0L
  1278. ) const;
  1279. virtual void NcFrame_Paint(
  1280. CDC & dc,
  1281. const CExtCmdIcon * pIcon,
  1282. __EXT_MFC_SAFE_LPCTSTR strCaption,
  1283. UINT nDrawTextAlignFlags,
  1284. const RECT & rcFrame,
  1285. const RECT & rcClient,
  1286. const RECT & rcIcon,
  1287. const RECT & rcText,
  1288. const RECT & rcHelp,
  1289. const RECT & rcMinimize,
  1290. const RECT & rcMaximizeRestore,
  1291. const RECT & rcClose,
  1292. bool bFrameActive,
  1293. bool bFrameEnabled,
  1294. bool bFrameMaximized,
  1295. e_nc_button_state_t eStateButtonHelp,
  1296. e_nc_button_state_t eStateButtonMinimize,
  1297. e_nc_button_state_t eStateButtonMaximizeRestore,
  1298. e_nc_button_state_t eStateButtonClose,
  1299. const CWnd * pWnd,
  1300. LPARAM lParam = 0L
  1301. ) const;
  1302. virtual void NcFrame_GetRects(
  1303. CExtCmdIcon * pIcon,
  1304. __EXT_MFC_SAFE_LPCTSTR strCaption,
  1305. UINT nDrawTextAlignFlags,
  1306. RECT & rcIcon,
  1307. RECT & rcText,
  1308. RECT & rcHelp,
  1309. RECT & rcMinimize,
  1310. RECT & rcMaximizeRestore,
  1311. RECT & rcClose,
  1312. const CWnd * pWnd,
  1313. LPMINMAXINFO pMinMaxInfo = NULL,
  1314. LPARAM lParam = 0L
  1315. ) const;
  1316. protected:
  1317. COLORREF m_clrFillHint;
  1318. COLORREF m_clrAccentHint;
  1319. COLORREF m_clrDockingFrameDark;
  1320. COLORREF m_clrFloatingToolbarGripperSolid;
  1321. COLORREF m_clrDockingFrameCaptionTextActive;
  1322. COLORREF m_clrDockingFrameCaptionTextInactive;
  1323. COLORREF m_clrDockingFrameCaptionTextFloatingFixed;
  1324. COLORREF m_clrDockingCaptionShapeFixedDisabled;
  1325. COLORREF m_clrDockingCaptionShapeResizableDisabled;
  1326. COLORREF m_clrDockingCaptionShapeFixedPushed;
  1327. COLORREF m_clrDockingCaptionShapeResizablePushed;
  1328. COLORREF m_clrDockingCaptionShapeFixedHover;
  1329. COLORREF m_clrDockingCaptionShapeResizableHover;
  1330. COLORREF m_clrDockingCaptionShapeFixedNormal;
  1331. COLORREF m_clrDockingCaptionShapeResizableNormal;
  1332. public:
  1333. virtual bool OnQueryThemeColors(
  1334. COLORREF *pclrFillHint,
  1335. COLORREF *pclrAccentHint = NULL
  1336. );
  1337. virtual bool OnQueryUseThemeColors() const;
  1338. virtual void InitTranslatedColors();
  1339. virtual bool PaintDockerBkgnd(
  1340. bool bClientMapping,
  1341. CDC & dc,
  1342. const CRect &rcDst,
  1343. const CRect &rcWnd,
  1344. LPARAM lParam = NULL
  1345. );
  1346. COLORREF m_clrDCA1, m_clrDCA2, m_clrDCA3; // style R1
  1347. CExtBitmapCache m_bmpDCA; // style R1 mask, style R2 top/left
  1348. bool m_bDocumentClientAreaBkgndR2; // style R1 or R2 (2007)
  1349. COLORREF m_clrDCA_Solid; // alternative DCA color
  1350. virtual bool PaintDocumentClientAreaBkgnd(
  1351. CDC & dc,
  1352. CWnd * pWnd,
  1353. LPARAM lParam = NULL
  1354. );
  1355. virtual void PaintSeparator(
  1356. CDC & dc,
  1357. const RECT & rectItem,
  1358. bool bHorz,
  1359. bool bTransparentBk,
  1360. CObject * pHelperSrc,
  1361. LPARAM lParam = 0L
  1362. );
  1363. virtual void PaintGripper(
  1364. CDC & dc,
  1365. CExtPaintManager::PAINTGRIPPERDATA & _pgd
  1366. );
  1367. virtual void PaintDockingFrame(
  1368. CDC & dc,
  1369. CExtPaintManager::PAINTDOCKINGFRAMEDATA & _pdfd
  1370. );
  1371. virtual void PaintDockingCaptionButton(
  1372. CDC & dc,
  1373. CExtPaintManager::PAINTDOCKINGCAPTIONBUTTONDATA & _pdcbd
  1374. );
  1375. #if (!defined __EXT_MFC_NO_STATUSBAR)
  1376. CRect m_rcStatusBkPadding;
  1377. CExtBitmapCache m_bmpStatusBkLight, m_bmpStatusBkDark;
  1378. CRect m_rcStatusSeparatorPadding;
  1379. CExtBitmapCache m_bmpStatusSeparator;
  1380. COLORREF m_clrStatusPaneTextColorDisabled, m_clrStatusPaneTextColorNormal;
  1381. virtual bool StatusBar_EraseBackground(
  1382. CDC & dc,
  1383. const RECT & rcClient,
  1384. const CExtStatusControlBar * pStatusBar,
  1385. LPARAM lParam = 0
  1386. ) const;
  1387. virtual bool StatusBar_PaintSeparator(
  1388. CDC & dc,
  1389. int nPaneIdxAfterSep,
  1390. const RECT & rcPaneBefore,
  1391. const RECT & rcPaneAfter,
  1392. const CExtStatusControlBar * pStatusBar,
  1393. LPARAM lParam = 0
  1394. ) const;
  1395. virtual bool StatusBar_PaintPane(
  1396. CDC & dc,
  1397. int nPaneIdx,
  1398. const RECT & rcPane,
  1399. DWORD dwPaneStyle,
  1400. HICON hIcon,
  1401. __EXT_MFC_SAFE_LPCTSTR sPaneText,
  1402. UINT nDrawTextFlags,
  1403. COLORREF clrText,
  1404. const CExtStatusControlBar * pStatusBar,
  1405. LPARAM lParam = 0
  1406. ) const;
  1407. virtual bool StatusBar_QuerySkinSupport(
  1408. const CExtStatusControlBar * pStatusBar,
  1409. LPARAM lParam = 0
  1410. ) const;
  1411. #endif // (!defined __EXT_MFC_NO_STATUSBAR)
  1412. #if (!defined __EXT_MFC_NO_TAB_CTRL)
  1413. enum e_TabShapeOrientationIndex_t
  1414. {
  1415. __ETSOI_TOP = 0,
  1416. __ETSOI_BOTTOM = 1,
  1417. __ETSOI_LEFT = 2,
  1418. __ETSOI_RIGHT = 3,
  1419. };
  1420. CExtBitmapCache m_arrBmpTabShapeNormal[4], m_arrBmpTabShapeSelArea[4], m_arrBmpTabArea[4], m_arrBmpTabSeparator[4];
  1421. CSize m_arrSizeTabShape[4], m_arrSizeTabSeparator[4];
  1422. CRect m_arrRectTabShapePadding[4], m_arrRectTabAreaPadding[4], m_arrRectTabSeparatorPadding[4];
  1423. INT m_arrTabAreaMargins[4];
  1424. INT m_nIdxTabShapeDisabled, m_nIdxTabShapeNormal,
  1425. m_nIdxTabShapeHover, m_nIdxTabShapePressed,
  1426. m_nIdxTabShapeSelected, m_nIdxTabShapeSelectedHover;
  1427. COLORREF m_clrTabTextNormal, m_clrTabTextSelected;
  1428. COLORREF m_clrTabTextNormalDWM, m_clrTabTextSelectedDWM;
  1429. virtual bool QueryTabWndHoverChangingRedraw(
  1430. const CExtTabWnd * pWndTab,
  1431. LPARAM lParam = 0L
  1432. );
  1433. virtual void PaintTabbedTabClientArea(
  1434. CDC & dc,
  1435. CRect & rcClient,
  1436. CRect & rcTabItemsArea,
  1437. CRect & rcTabNearBorderArea,
  1438. DWORD dwOrientation,
  1439. bool bGroupedMode,
  1440. CObject * pHelperSrc,
  1441. LPARAM lParam = 0L
  1442. );
  1443. virtual void PaintTabClientArea(
  1444. CDC & dc,
  1445. CRect & rcClient,
  1446. CRect & rcTabItemsArea,
  1447. CRect & rcTabNearBorderArea,
  1448. DWORD dwOrientation,
  1449. bool bGroupedMode,
  1450. CObject * pHelperSrc,
  1451. LPARAM lParam = 0L
  1452. );
  1453. virtual void PaintTabItem(
  1454. CDC & dc,
  1455. CRect & rcTabItemsArea,
  1456. bool bTopLeft,
  1457. bool bHorz,
  1458. bool bSelected,
  1459. bool bCenteredText,
  1460. bool bGroupedMode,
  1461. bool bInGroupActive,
  1462. bool bInvertedVerticalMode,
  1463. const CRect & rcEntireItem,
  1464. CSize sizeTextMeasured,
  1465. CFont * pFont,
  1466. __EXT_MFC_SAFE_LPCTSTR sText,
  1467. CExtCmdIcon * pIcon,
  1468. CObject * pHelperSrc,
  1469. LPARAM lParam = 0L,
  1470. COLORREF clrForceText = COLORREF(-1L),
  1471. COLORREF clrForceTabBk = COLORREF(-1L),
  1472. COLORREF clrForceTabBorderLT = COLORREF(-1L),
  1473. COLORREF clrForceTabBorderRB = COLORREF(-1L),
  1474. COLORREF clrForceTabSeparator = COLORREF(-1L),
  1475. bool bDwmMode = false
  1476. );
  1477. virtual void PaintTabButton(
  1478. CDC & dc,
  1479. CRect & rcButton,
  1480. LONG nHitTest,
  1481. bool bTopLeft,
  1482. bool bHorz,
  1483. bool bEnabled,
  1484. bool bHover,
  1485. bool bPushed,
  1486. bool bGroupedMode,
  1487. CObject * pHelperSrc,
  1488. LPARAM lParam = 0L,
  1489. bool bFlat = false
  1490. );
  1491. virtual void PaintTabNcAreaRect(
  1492. CDC & dc,
  1493. const RECT & rc,
  1494. CObject * pHelperSrc,
  1495. LPARAM lParam = 0L
  1496. );
  1497. virtual void TabWnd_MeasureItemAreaMargins(
  1498. CExtTabWnd * pTabWnd,
  1499. LONG & nSpaceBefore,
  1500. LONG & nSpaceAfter,
  1501. LONG & nSpaceOver
  1502. );
  1503. virtual void TabWnd_UpdateItemMeasure(
  1504. CExtTabWnd * pTabWnd,
  1505. CExtTabWnd::TAB_ITEM_INFO * pTii,
  1506. CDC & dcMeasure,
  1507. CSize & sizePreCalc
  1508. );
  1509. virtual void TabWnd_AdjustItemCloseButtonRect(
  1510. CRect & rcCloseButton,
  1511. CExtTabWnd * pTabWnd
  1512. );
  1513. virtual void GetThemeAccentTabColors(
  1514. COLORREF * pClrSetectedTabItemText,
  1515. COLORREF * pClrSetectedTabItemFace = NULL,
  1516. COLORREF * pClrSetectedTabItemBorderLight = NULL,
  1517. COLORREF * pClrSetectedTabItemBorderDark = NULL,
  1518. CObject * pHelperSrc = NULL,
  1519. LPARAM lParam = 0L
  1520. );
  1521. #endif // (!defined __EXT_MFC_NO_TAB_CTRL)
  1522. virtual int GetThemeDockingType() const;
  1523. #if (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
  1524. virtual int GetAutoHideTabsType() const;
  1525. #endif // (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
  1526. CExtBitmapCache m_bmpArrStatesCheckBox, m_bmpArrStatesRadioButton;
  1527. virtual CSize GetCheckButtonBoxSize(
  1528. CDC & dc,
  1529. CExtPaintManager::PAINTCHECKRADIOBUTTONDATA & _pcbd
  1530. ) const;
  1531. virtual CSize GetRadioButtonBoxSize(
  1532. CDC & dc,
  1533. CExtPaintManager::PAINTCHECKRADIOBUTTONDATA & _pcbd
  1534. ) const;
  1535. virtual void PaintCheckButtonBox(
  1536. CDC & dc,
  1537. CExtPaintManager::PAINTCHECKRADIOBUTTONDATA & _pcbd
  1538. );
  1539. virtual void PaintRadioButtonBox(
  1540. CDC & dc,
  1541. CExtPaintManager::PAINTCHECKRADIOBUTTONDATA & _pcbd
  1542. );
  1543. COLORREF m_clrMenuItemLeftAreaMarginL, m_clrMenuItemLeftAreaMarginR;
  1544. CExtBitmapCache
  1545. m_bmpMenuItemLargeLeft,
  1546. m_bmpMenuItemLargeRight,
  1547. m_bmpMenuItemSmallLeft,
  1548. m_bmpMenuItemSmallRight,
  1549. m_bmpMenuArrow,
  1550. m_bmpMenuCheckAreaChecked,
  1551. m_bmpMenuCheckAreaUnchecked;
  1552. CSize m_sizeMenuCheckAreaChecked, m_sizeMenuCheckAreaUnchecked;
  1553. INT m_nMenuGlyphItemHeightSmall, m_nMenuGlyphItemHeightLarge;
  1554. CRect m_rcMenuItemPaddingLargeLeft,
  1555. m_rcMenuItemPaddingLargeRight,
  1556. m_rcMenuItemPaddingSmallLeft,
  1557. m_rcMenuItemPaddingSmallRight,
  1558. m_arrRectMenuCheckAreaCheckedPadding[2],
  1559. m_arrRectMenuCheckAreaUncheckedPadding[2];
  1560. virtual void PaintMenuItemLeftAreaMarginXP(
  1561. CDC & dc,
  1562. CExtPaintManager::PAINTMENUITEMDATA & _pmid,
  1563. const RECT & rcFillLeftPart,
  1564. const RECT & rcFillRightPart
  1565. );
  1566. virtual bool PaintMenuItemBackgroundXP(
  1567. CDC & dc,
  1568. CExtPaintManager::PAINTMENUITEMDATA & _pmid,
  1569. const RECT & rcSelectionArea
  1570. );
  1571. virtual bool PaintMenuItemCheckMarkAreaXP(
  1572. CDC & dc,
  1573. CExtPaintManager::PAINTMENUITEMDATA & _pmid,
  1574. const RECT & rcCheckMarkArea,
  1575. e_CheckMarkAreaTypeXP eCMATXP
  1576. );
  1577. virtual void PaintMenuScrollButton(
  1578. CDC & dc,
  1579. bool bHover,
  1580. bool bPushed,
  1581. bool bTopButton,
  1582. const RECT & rcScrollButton,
  1583. CObject * pHelperSrc,
  1584. LPARAM lParam = 0L
  1585. );
  1586. virtual void PaintResizingGripper(
  1587. CDC & dc,
  1588. const RECT & rcGrip,
  1589. CObject * pHelperSrc,
  1590. LPARAM lParam = 0L
  1591. );
  1592. #if (!defined __EXT_MFC_NO_PAGE_NAVIGATOR )
  1593. // simple/gradient version of page navigator
  1594. COLORREF m_arrClrPnCaptNormal[4], m_arrClrPnCaptActive[4],
  1595. m_arrClrPnCaptHover[4], m_arrClrPnCaptPressed[4],
  1596. m_arrClrPnSplitter[2], m_clrPnSplitterDots,
  1597. m_clrPnCaptText, m_arrClrPnItemText[2],
  1598. m_clrPnConfigButton;
  1599. CExtSafeString m_strPnPaneCaptCustomFontFaceName;
  1600. bool m_bPnPaneCaptFontBold:1;
  1601. // bitmap based version of page navigator
  1602. enum e_PnItemSkinType
  1603. {
  1604. ePn_Normal = 0,
  1605. ePn_Hover = 1,
  1606. ePn_Pressed = 2,
  1607. ePn_Selected = 3,
  1608. ePn_SelectedHover = 4,
  1609. ePn_Count = 5,
  1610. };
  1611. // expanded item
  1612. COLORREF m_arrClrPnItemTextBmpVer[ ePn_Count ];
  1613. CRect m_arrRcPnItemPaddingExpanded[ ePn_Count ];
  1614. CExtBitmap m_arrBmpPnItemExpanded[ ePn_Count ];
  1615. // collapsed item
  1616. CRect m_arrRcPnItemPaddingCollapsed[ ePn_Count ];
  1617. CExtBitmap m_arrBmpPnItemCollapsed[ ePn_Count ];
  1618. // pane
  1619. COLORREF m_arrClrPnPaneTextBmpVer[ ePn_Count ];
  1620. CRect m_arrRcPnPanePadding[ ePn_Count ];
  1621. CExtBitmap m_arrBmpPnPane[ ePn_Count ];
  1622. virtual INT PageNavigator_GetSplitterHeight() const;
  1623. virtual INT PageNavigator_GetItemCaptionHeight() const;
  1624. virtual INT PageNavigator_GetItemPaneCaptionHeight() const;
  1625. virtual void PaintPageNavigatorItem(
  1626. CDC & dc,
  1627. const CRect & rcItem,
  1628. __EXT_MFC_SAFE_LPCTSTR strCaption,
  1629. CExtCmdIcon * pIcon,
  1630. bool bExpanded,
  1631. bool bSelected,
  1632. bool bPushed,
  1633. bool bHover
  1634. );
  1635. virtual void PaintPageNavigatorItemCaption(
  1636. CDC & dc,
  1637. const CRect & rcCaption,
  1638. __EXT_MFC_SAFE_LPCTSTR strCaption
  1639. );
  1640. virtual void PaintPageNavigatorCaptionText(
  1641. CDC & dc,
  1642. const CRect & rcItem,
  1643. __EXT_MFC_SAFE_LPCTSTR strCaption,
  1644. bool bSelected,
  1645. bool bPushed,
  1646. bool bHover,
  1647. bool bAllowInvertTextColor = true,
  1648. COLORREF clrForceText = COLORREF(-1L)
  1649. );
  1650. virtual void PaintPageNavigatorItemPaneCaptionText(
  1651. CDC & dc,
  1652. const CRect & rcCaption,
  1653. __EXT_MFC_SAFE_LPCTSTR strCaption
  1654. );
  1655. virtual void PaintPageNavigatorItemPaneCaption(
  1656. CDC & dc,
  1657. const CRect & rcCaption,
  1658. __EXT_MFC_SAFE_LPCTSTR strCaption,
  1659. bool bHover,
  1660. bool bPressed,
  1661. bool bExpandable,
  1662. bool bExpanded,
  1663. bool bDrawTopLine = true
  1664. );
  1665. virtual void PaintPageNavigatorConfigButton(
  1666. CDC & dc,
  1667. const CRect & rcItem,
  1668. bool bPushed,
  1669. bool bHover
  1670. );
  1671. virtual void PaintPageNavigatorSplitter(
  1672. CDC & dc,
  1673. const CRect & rcSplitter,
  1674. bool bDrawDots = true
  1675. );
  1676. virtual void PaintPageNavigatorSplitterDots(
  1677. CDC & dc,
  1678. const CRect & rcSplitter,
  1679. INT nOffsetV = 0
  1680. );
  1681. #endif // (!defined __EXT_MFC_NO_PAGE_NAVIGATOR )
  1682. CSize m_sizeComboBoxDropDown;
  1683. CRect m_rcPaddingComboBoxDropDown;
  1684. CExtBitmapCache m_bmpArrComboBoxDropDown;
  1685. #if (!defined __EXT_MFC_NO_RIBBON_BAR )
  1686. COLORREF m_clrRibbonComboBackGroundNormal, m_clrRibbonComboBackGroundDisabled;
  1687. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  1688. COLORREF m_arrClrComboBoxBorder[4]; // normal=0, hover=1, pressed=2, disabled=3
  1689. virtual void PaintComboFrame(
  1690. CDC & dc,
  1691. CExtPaintManager::PAINTCOMBOFRAMEDATA & _pcfd
  1692. );
  1693. virtual void PaintControlFrame(
  1694. CDC & dc,
  1695. CExtPaintManager::PAINTCONTROLFRAMEDATA & _pcfd
  1696. );
  1697. virtual void PaintToolbarTextField(
  1698. CDC & dc,
  1699. PAINTTOOLBARTEXTFIELDDATA & _ptbtfd
  1700. );
  1701. #if (!defined __EXT_MFC_NO_RIBBON_BAR )
  1702. virtual CSize Ribbon_CalcButtonSize(
  1703. CDC & dc,
  1704. INT nILV,
  1705. const CExtBarButton * pTBB,
  1706. LPARAM lParam = 0L
  1707. );
  1708. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  1709. SCROLLBARSKINDATA
  1710. m_SbSkinDataL_Zoom,
  1711. m_SbSkinDataT_Zoom,
  1712. m_SbSkinDataR_Zoom,
  1713. m_SbSkinDataB_Zoom,
  1714. m_SbSkinDataH_Light,
  1715. m_SbSkinDataV_Light,
  1716. m_SbSkinDataH_Dark,
  1717. m_SbSkinDataV_Dark;
  1718. virtual SCROLLBARSKINDATA * ScrollBar_GetSkinData(
  1719. bool bHorzBar,
  1720. CObject * pHelperSrc,
  1721. LPARAM lParam = 0L,
  1722. bool bLightAccent = true
  1723. );
  1724. virtual bool ScrollBar_GetMetrics(
  1725. INT * p_nHorzBarHeight = NULL,
  1726. INT * p_nVertBarWidth = NULL,
  1727. INT * p_nHorzButtonWidth = NULL,
  1728. INT * p_nVertButtonHeight = NULL,
  1729. INT * p_nHorzThumbMinWidth = NULL,
  1730. INT * p_nVertThumbMinHeight = NULL,
  1731. CObject * pHelperSrc = NULL,
  1732. LPARAM lParam = 0L
  1733. ) const;
  1734. COLORREF m_clrGridHeaderBkTop, m_clrGridHeaderBkBottom, m_clrGridHeaderBorder,
  1735. m_clrGridHeaderSeparator, m_clrGridHeaderSortArrow;
  1736. #ifndef __EXT_MFC_NO_GRIDWND
  1737. virtual bool Grid_PaintButton(
  1738. CDC & dc,
  1739. const RECT & rcButton,
  1740. INT nButtonType,
  1741. bool bPressed,
  1742. bool bHovered,
  1743. bool bFocused,
  1744. bool bEnabled,
  1745. COLORREF clrFace,
  1746. COLORREF clrLight,
  1747. COLORREF clrShadow,
  1748. COLORREF clrWindow,
  1749. COLORREF clrText,
  1750. DWORD dwHelperPaintFlags,
  1751. CObject * pHelperSrc,
  1752. LPARAM lParam = 0L
  1753. );
  1754. virtual bool Grid_PaintHeaderSortArrow(
  1755. CDC & dc,
  1756. const RECT & rcSortArrow,
  1757. bool bHorz,
  1758. bool bAscending,
  1759. COLORREF * pColorValues,
  1760. CObject * pHelperSrc,
  1761. LPARAM lParam = 0L
  1762. );
  1763. virtual bool Grid_PaintHeaderBackground(
  1764. CDC & dc,
  1765. const RECT & rcArea,
  1766. LONG nColNo,
  1767. LONG nRowNo,
  1768. INT nColType,
  1769. INT nRowType,
  1770. DWORD dwAreaFlags,
  1771. DWORD dwHelperPaintFlags,
  1772. CObject * pHelperSrc,
  1773. LPARAM lParam = 0L
  1774. );
  1775. #endif // #ifndef __EXT_MFC_NO_GRIDWND
  1776. COLORREF m_clrRgHeaderBkTop, m_clrRgHeaderBkBottom, m_clrRgHeaderBorder,
  1777. m_clrRgHeaderSeparator, m_clrRgHeaderSortArrow, m_clrRgHeaderText;
  1778. #if (!defined __EXT_MFC_NO_REPORTGRIDWND)
  1779. COLORREF m_clrRgGroupAreaBk, m_clrRgGroupAreaText;
  1780. virtual bool ReportGrid_PaintHeaderRowBackground(
  1781. CDC & dc,
  1782. const RECT & rcArea,
  1783. CObject * pHelperSrc,
  1784. LPARAM lParam = 0L
  1785. );
  1786. virtual bool ReportGrid_PaintHeaderSortArrow(
  1787. CDC & dc,
  1788. const RECT & rcSortArrow,
  1789. bool bAscending,
  1790. CObject * pHelperSrc,
  1791. LPARAM lParam = 0L
  1792. );
  1793. virtual bool ReportGrid_PaintGroupAreaBackground(
  1794. CDC & dc,
  1795. const RECT & rcArea,
  1796. __EXT_MFC_SAFE_LPCTSTR strEmptyAreaCaption, // not NULL if area is empty
  1797. CObject * pHelperSrc,
  1798. LPARAM lParam = 0L
  1799. );
  1800. virtual COLORREF ReportGrid_GetHeaderTextColor(
  1801. CObject * pHelperSrc,
  1802. LPARAM lParam = 0L
  1803. );
  1804. #endif // (!defined __EXT_MFC_NO_REPORTGRIDWND)
  1805. enum e_push_button_glyph_type_t
  1806. {
  1807. __EPBGT_NORMAL        = 0,
  1808. __EPBGT_HOVER         = 1,
  1809. __EPBGT_PRESSED       = 2,
  1810. __EPBGT_DEFAULT       = 3,
  1811. __EPBGT_DISABLED      = 4,
  1812. __EPBGT_HH            = 5,
  1813. __EPBGT_GLYPH_COUNT   = 6,
  1814. };
  1815. // INT m_nTbbLightWeightSimpleGlyphHeightH, m_nTbbLightWeightSimpleGlyphHeightV,
  1816. // m_nTbbLightWeightSDDLeftGlyphHeightH, m_nTbbLightWeightSDDLeftGlyphHeightV,
  1817. // m_nTbbLightWeightSDDRightGlyphHeightH, m_nTbbLightWeightSDDRightGlyphHeightV;
  1818. // CRect m_rcTbbLightWeightSimplePaddingH, m_rcTbbLightWeightSimplePaddingV,
  1819. // m_rcTbbLightWeightSDDLeftPaddingH, m_rcTbbLightWeightSDDLeftPaddingV,
  1820. // m_rcTbbLightWeightSDDRightPaddingH, m_rcTbbLightWeightSDDRightPaddingV;
  1821. // CExtBitmapCache
  1822. // m_arrBmpTbbLightWeightSimpleH, m_arrBmpTbbLightWeightSimpleV,
  1823. // m_arrBmpTbbLightWeightSDDLeftH, m_arrBmpTbbLightWeightSDDLeftV,
  1824. // m_arrBmpTbbLightWeightSDDRightH, m_arrBmpTbbLightWeightSDDRightV;
  1825. INT m_nPushBtnSimpleGlyphHeightH, m_nPushBtnSimpleGlyphHeightV,
  1826. m_nPushBtnSDDLeftGlyphHeightH, m_nPushBtnSDDLeftGlyphHeightV,
  1827. m_nPushBtnSDDRightGlyphHeightH, m_nPushBtnSDDRightGlyphHeightV;
  1828. CRect m_rcPushBtnSimplePaddingH, m_rcPushBtnSimplePaddingV,
  1829. m_rcPushBtnSDDLeftPaddingH, m_rcPushBtnSDDLeftPaddingV,
  1830. m_rcPushBtnSDDRightPaddingH, m_rcPushBtnSDDRightPaddingV;
  1831. CExtBitmapCache
  1832. m_arrBmpPushBtnSimpleH, m_arrBmpPushBtnSimpleV,
  1833. m_arrBmpPushBtnSDDLeftH, m_arrBmpPushBtnSDDLeftV,
  1834. m_arrBmpPushBtnSDDRightH, m_arrBmpPushBtnSDDRightV;
  1835. CExtBitmapCache 
  1836. m_arrBmpSpinArrowDown, m_arrBmpSpinArrowUp,
  1837. m_arrBmpSpinDown, m_arrBmpSpinUp;
  1838. virtual void PaintPushButton(
  1839. CDC & dc,
  1840. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  1841. );
  1842. virtual bool IsMenuMustCombineExcludeArea(
  1843. const CObject * pMenuTrackerObject = NULL
  1844. ) const;
  1845. CSize m_sizeRibbonComboBoxDropDown;
  1846. CExtBitmapCache m_bmpArrRibbonComboBoxDropDown;
  1847. CRect m_rcRibbonPaddingComboBoxDropDown;
  1848. CExtBitmapCache m_bmpRibbonDDA;
  1849. #if (!defined __EXT_MFC_NO_RIBBON_BAR)
  1850. CExtBitmapCache m_bmpRibbonTabAreaBlur;
  1851. CRect m_rcRibbonTabAreaBlurPadding;
  1852. COLORREF m_clrRibbonTabClientAreaActive, m_clrRibbonTabClientAreaInactive; // non-dwm colors of ribbon tab client area
  1853. virtual void Ribbon_PaintTabClientArea(
  1854. CDC & dc,
  1855. CRect & rcClient,
  1856. CRect & rcTabItemsArea,
  1857. CRect & rcTabNearBorderArea,
  1858. CObject * pHelperSrc,
  1859. LPARAM lParam = 0L
  1860. );
  1861. CExtBitmapCache m_bmpRibbonPageBk;
  1862. CExtBitmapCache m_bmpRibbonGroupBkExpanded[2]; // 0 - normal, 1 - hover
  1863. CExtBitmapCache m_bmpRibbonGroupBkCollapsed[4]; // 0 - normal, 1 - hover, 2 - pressed, 3 - selected
  1864. CExtBitmapCache m_bmpRibbonGroupBkQATB[4]; // 0 - normal, 1 - hover, 2 - pressed, 3 - selected
  1865. //CExtBitmapCache m_bmpRibbonIconBkCollapsed[3]; // 0 - normal, 1 - hover, 2 - pressed
  1866. CExtBitmapCache m_bmpRibbonIconBkCF;
  1867. INT m_nRibbonGroupIconBkVertOffset, m_nRibbonCaptionPartHeight,
  1868. m_nRibbonGroupCaptionAreaHeightExpanded,
  1869. m_nRibbonGroupCaptionAreaHeightCollapsed;
  1870. CRect m_rcRibbonPageBkPadding,
  1871. m_rcRibbonGroupPaddingBkExpanded,
  1872. m_rcRibbonGroupPaddingBkCollapsed;
  1873. bool m_bRibbonGroupCaptionAtTop:1, m_bRibbonGroupCaptionAreaHasPadding:1;
  1874. INT m_nContractedMarginHeight;
  1875. virtual INT Ribbon_GetContractedMarginHeight(
  1876. const CExtRibbonPage * pRibbonPage,
  1877. LPARAM lParam = 0L
  1878. );
  1879. COLORREF m_clrContractedMargin1,m_clrContractedMargin2;
  1880. virtual void Ribbon_PaintContractedMargin(
  1881. CDC & dc,
  1882. const CExtRibbonPage * pRibbonPage,
  1883. LPARAM lParam = 0L
  1884. );
  1885. virtual INT Ribbon_GetGroupHeight(
  1886. const CExtRibbonButtonGroup * pGroupTBB,
  1887. LPARAM lParam = 0L
  1888. );
  1889. virtual INT Ribbon_GetToolGroupExtraOffset(
  1890. const CExtRibbonButtonGroup * pGroupTBB,
  1891. LPARAM lParam = 0L
  1892. );
  1893. virtual INT Ribbon_GetToolGroupExtraLineDistance(
  1894. const CExtRibbonButtonGroup * pGroupTBB,
  1895. LPARAM lParam = 0L
  1896. );
  1897. virtual INT Ribbon_GroupCaptionGetHeight(
  1898. const CExtRibbonButtonGroup * pGroupTBB,
  1899. LPARAM lParam = 0L
  1900. ) const;
  1901. virtual bool Ribbon_GroupCaptionIsAtTop(
  1902. const CExtRibbonButtonGroup * pGroupTBB,
  1903. LPARAM lParam = 0L
  1904. ) const;
  1905. virtual CExtCmdIcon * Ribbon_GetGroupCollapsedIcon(
  1906. const CExtRibbonButtonGroup * pGroupTBB,
  1907. LPARAM lParam = 0L
  1908. );
  1909. virtual void Ribbon_PaintGroupBk(
  1910. CDC & dc,
  1911. const RECT & rcGroupBk,
  1912. const CExtRibbonButtonGroup * pGroupTBB,
  1913. LPARAM lParam = 0L
  1914. );
  1915. virtual bool Ribbon_PaintQuickAccessGroupButton(
  1916. CDC & dc,
  1917. const RECT & rcGroupBk,
  1918. const CExtRibbonButtonGroup * pGroupTBB,
  1919. LPARAM lParam = 0L
  1920. );
  1921. CRect m_rcRibbonPageOuterContentPadding;
  1922. virtual CRect Ribbon_GetPageOuterContentPadding(
  1923. const CExtRibbonPage * pRibbonPage,
  1924. LPARAM lParam = 0L
  1925. );
  1926. virtual void Ribbon_PaintPageBk(
  1927. CDC & dc,
  1928. const RECT & rcPageBk,
  1929. const CExtRibbonPage * pRibbonPage,
  1930. LPARAM lParam = 0L
  1931. );
  1932. CExtBitmapCache m_bmpRibbonSeparatorH, m_bmpRibbonSeparatorV;
  1933. CRect m_rcRibbonSeparatorPaddingH, m_rcRibbonSeparatorPaddingV;
  1934. INT m_nRibbonSeparatorDrawModeH, m_nRibbonSeparatorDrawModeV;
  1935. virtual void Ribbon_PaintSeparator(
  1936. CDC & dc,
  1937. const RECT & rcTBB,
  1938. const CExtBarButton * pSepTBB, // can be NULL
  1939. LPARAM lParam = 0L
  1940. );
  1941. COLORREF
  1942. m_clrRibbonGroupCaptionTextExpanded,
  1943. m_clrRibbonGroupCaptionTextShadowExpanded,
  1944. m_clrRibbonGroupCaptionTextCollapsed,
  1945. m_clrRibbonButtonNormal,
  1946. m_clrRibbonButtonDisabled;
  1947. CSize m_sizeRibbonGroupCaptionTextOffset;
  1948. INT m_nRibbonGroupCaptionTextDF, m_nRibbonGroupCaptionTextShadowDF;
  1949. virtual CRect Ribbon_CalcLargeDropDownRect(
  1950. const CExtBarButton * pTBB,
  1951. LPARAM lParam = 0L
  1952. );
  1953. virtual void Ribbon_PaintPushButton(
  1954. CDC & dc,
  1955. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  1956. );
  1957. virtual void Ribbon_PaintText(
  1958. CDC & dc,
  1959. __EXT_MFC_SAFE_LPCTSTR strText,
  1960. const RECT & rcText,
  1961. UINT nDrawTextFlags,
  1962. bool bDrawDropDownArrow,
  1963. CExtBitmap * pBmpAlternativeDropDownArrow,
  1964. CObject * pHelperSrc,
  1965. LPARAM lParam = 0L
  1966. );
  1967. virtual CRect Ribbon_GetPopupGroupBorderMetrics(
  1968. const CExtRibbonPage * pRibbonPage,
  1969. LPARAM lParam = 0L
  1970. );
  1971. virtual bool Ribbon_IsPopupGroupWithCaption(
  1972. CObject * pHelperSrc,
  1973. LPARAM lParam = 0L
  1974. ) const;
  1975. INT m_nRibbonQuickAccessBarButtonsAlignment;
  1976. virtual INT RibbonQuickAccessBar_GetButtonsAlignment(
  1977. const CExtRibbonPage * pRibbonPage,
  1978. LPARAM lParam = 0L
  1979. ) const;
  1980. CExtBitmapCache m_bmpRibbonQuickAccessBarBkAtTheBottom;
  1981. CRect m_rcPaddingRibbonQuickAccessBarBkAtTheBottom;
  1982. virtual void RibbonQuickAccessBar_PaintBkAtTheBottom(
  1983. CDC & dc,
  1984. CRect rcQATB,
  1985. const CExtRibbonPage * pRibbonPage,
  1986. LPARAM lParam = 0L
  1987. ) const;
  1988. virtual void RibbonQuickAccessBar_AdjustButtonLocation(
  1989. CExtBarButton * pTBB,
  1990. CRect & rcTBB,
  1991. LPARAM lParam = 0L
  1992. );
  1993. INT m_nQatbAdditionalSpaceAtRight, m_nQatbAdditionalSpaceAtRightDWM;
  1994. virtual INT RibbonQuickAccessBar_GetAdditionalSpaceAtRight(
  1995. bool bDwmMode,
  1996. CObject * pHelperSrc,
  1997. LPARAM lParam = 0L
  1998. );
  1999. INT m_nRibbonTabIntersectionHeight;
  2000. virtual INT Ribbon_GetTabIntersectionHeight(
  2001. const CExtRibbonPage * pRibbonPage,
  2002. LPARAM lParam = 0L
  2003. ) const;
  2004. virtual void Ribbon_PaintTabItem(
  2005. CDC & dc,
  2006. CRect & rcTabItemsArea,
  2007. bool bSelected,
  2008. const CRect & rcEntireItem,
  2009. CFont * pFont,
  2010. __EXT_MFC_SAFE_LPCTSTR sText,
  2011. CExtCmdIcon * pIcon,
  2012. CObject * pHelperSrc,
  2013. LPARAM lParam = 0L,
  2014. COLORREF clrForceText = COLORREF(-1L),
  2015. COLORREF clrForceTabBk = COLORREF(-1L),
  2016. COLORREF clrForceTabBorderLT = COLORREF(-1L),
  2017. COLORREF clrForceTabBorderRB = COLORREF(-1L),
  2018. COLORREF clrForceTabSeparator = COLORREF(-1L)
  2019. );
  2020. CRect m_rcRibbonNcCornerLeftCP, m_rcRibbonNcCornerRightCP;
  2021. CExtBitmapCache m_bmpRibbonNcCornerDwmLeft, m_bmpRibbonNcCornerDwmRight;
  2022. CExtBitmapCache m_bmpRibbonNcCornerActiveLeft,  m_bmpRibbonNcCornerInactiveLeft;
  2023. CExtBitmapCache m_bmpRibbonNcCornerActiveRight, m_bmpRibbonNcCornerInactiveRight;
  2024. CExtBitmapCache m_bmpRibbonNcCornerHT, m_bmpArrRibbonFileButton;
  2025. CRgn m_rgnRibbonNcCornerExclude, m_rgnRibbonNcCornerResizing;
  2026. INT m_nRibbonFileButtonHeight;
  2027. virtual HRGN Ribbon_GetRgnCornerExclude(
  2028. CObject * pHelperSrc,
  2029. LPARAM lParam = 0L
  2030. );
  2031. virtual HRGN Ribbon_GetRgnCornerResizing(
  2032. CObject * pHelperSrc,
  2033. LPARAM lParam = 0L
  2034. );
  2035. virtual void Ribbon_EmbeddedCaptionAdjustTextRect(
  2036. CRect & rcAdjust,
  2037. const CExtRibbonBar * pRibbonBar,
  2038. LPARAM lParam = 0L
  2039. );
  2040. virtual void Ribbon_NcOverPaint(
  2041. CDC & dc,
  2042. bool bFrameActive,
  2043. INT nWidthFromLeft,
  2044. bool bDwmMode,
  2045. LPCRECT pRectDwmText,
  2046. __EXT_MFC_SAFE_LPCTSTR strDwmCaptionTitle,
  2047. CObject * pHelperSrc,
  2048. LPARAM lParam = 0L
  2049. );
  2050. COLORREF m_clrRibbon_EmbeddedCaptionTextLeft, m_clrRibbon_EmbeddedCaptionTextRight;
  2051. virtual void Ribbon_EmbeddedCaptionPaintText(
  2052. CDC & dc,
  2053. __EXT_MFC_SAFE_LPCTSTR strCaption,
  2054. CRect rcDrawText,
  2055. __EXT_MFC_SAFE_LPCTSTR strCaptionDelimiter,
  2056. const CExtRibbonBar * pRibbonBar,
  2057. LPARAM lParam = 0L
  2058. );
  2059. UINT m_nRibbonEmbeddedCaptionTextAlignmentFlags;
  2060. virtual UINT Ribbon_EmbeddedCaptionGetTextAlignmentFlags(
  2061. const CExtRibbonBar * pRibbonBar,
  2062. LPARAM lParam = 0L
  2063. );
  2064. virtual void Ribbon_FileMenuButtonQuery(
  2065. LPVOID pData,
  2066. CExtCmdIcon * pIcon = NULL,
  2067. __EXT_MFC_SAFE_LPCTSTR sText = NULL,
  2068. LPARAM lParam = 0L
  2069. );
  2070. bool m_bRibbonFileButtonItegrationSupported:1;
  2071. virtual bool Ribbon_FileButtonIsItegrationSupported() const;
  2072. INT m_nRibbonFileButtonMenuIntersectionHeight;
  2073. virtual INT Ribbon_FileButtonGetMenuIntersectionHeight() const;
  2074. virtual bool Ribbon_FileButtonCalcLayout(
  2075. CDC & dc,
  2076. CExtNcFrameImpl * pExtNcFrameImpl,
  2077. CExtRibbonButtonFile * pFileTBB,
  2078. LPARAM lParam = 0L
  2079. );
  2080. virtual bool Ribbon_FileButtonPaint(
  2081. CDC & dc,
  2082. CExtRibbonButtonFile * pFileTBB,
  2083. LPARAM lParam = 0L
  2084. );
  2085. CExtBitmapCache m_bmpArrRibbonQACEB;
  2086. CRect m_rcRibbonPaddingQACEB;
  2087. INT m_nRibbonHeightOfQACEB,
  2088. m_nIdxRibbonQACEB_Normal,
  2089. m_nIdxRibbonQACEB_Hover,
  2090. m_nIdxRibbonQACEB_Pressed,
  2091. m_nIdxRibbonQACEB_Selected;
  2092. virtual bool Ribbon_QuickAccessContentExpandButtonCalcLayout(
  2093. CDC & dc,
  2094. CExtRibbonButtonQuickAccessContentExpand * pQACEB,
  2095. LPARAM lParam = 0L
  2096. );
  2097. virtual bool Ribbon_QuickAccessContentExpandButtonPaint(
  2098. CDC & dc,
  2099. CExtRibbonButtonQuickAccessContentExpand * pQACEB,
  2100. LPARAM lParam = 0L
  2101. );
  2102. CSize m_sizeAboveTheRibbonShiftQACEB;
  2103. virtual CSize Ribbon_QuickAccessContentExpandGetShift(
  2104. CDC & dc,
  2105. CExtRibbonButtonQuickAccessContentExpand * pQACEB,
  2106. LPARAM lParam = 0L
  2107. );
  2108. CExtBitmapCache m_arrBmpRibbonDLB;
  2109. INT m_nRibbonHeightOfOneDLB,
  2110. m_nDlbIdxDisabled, m_nDlbIdxNormal,
  2111. m_nDlbIdxHover, m_nDlbIdxPressed;
  2112. CRect rcRibbonContentPaddingDLB;
  2113. virtual bool Ribbon_DLB_IsVisible(
  2114. CExtRibbonButtonDialogLauncher * pTBB,
  2115. LPARAM lParam = 0L
  2116. ) const;
  2117. virtual CSize Ribbon_DLB_CalcSize(
  2118. CDC & dc,
  2119. CExtRibbonButtonDialogLauncher * pTBB,
  2120. LPARAM lParam = 0L
  2121. );
  2122. virtual void Ribbon_DLB_Paint(
  2123. CDC & dc,
  2124. CExtRibbonButtonDialogLauncher * pTBB,
  2125. LPARAM lParam = 0L
  2126. );
  2127. virtual CFont * RibbonGallery_GetItemFont(
  2128. CExtRibbonGalleryWnd * pGalleryWnd,
  2129. LPVOID pGalleryItemData,
  2130. LPARAM lParam = 0L
  2131. );
  2132. virtual CSize RibbonGallery_MeasureItem(
  2133. CDC & dc,
  2134. CExtRibbonGalleryWnd * pGalleryWnd,
  2135. LPVOID pGalleryItemData,
  2136. LPARAM lParam = 0L
  2137. );
  2138. virtual bool RibbonGallery_DrawItem(
  2139. CDC & dc,
  2140. CExtRibbonGalleryWnd * pGalleryWnd,
  2141. const RECT & rcItem,
  2142. LPVOID pGalleryItemData,
  2143. LPARAM lParam = 0L
  2144. );
  2145. COLORREF m_clrRibbonGalleryInplaceBorderNormal;
  2146. COLORREF m_clrRibbonGalleryInplaceBorderHover;
  2147. COLORREF m_clrRibbonGalleryInplaceBkgndNormal;
  2148. COLORREF m_clrRibbonGalleryInplaceBkgndHover;
  2149. virtual bool RibbonGallery_EraseEntireBk(
  2150. CDC & dc,
  2151. const CRect & rcClient,
  2152. const CRect & rcActiveChildArea,
  2153. CRgn & rgnActiveChildArea,
  2154. const CRect & rcActiveChildArea2,
  2155. CRgn & rgnActiveChildArea2,
  2156. CExtRibbonGalleryWnd * pGalleryWnd,
  2157. LPARAM lParam = 0L
  2158. );
  2159. COLORREF m_rcRibbonGalleryScrollFill;
  2160. CRect m_rcRibbonGalleryScrollButtonPadding;
  2161. INT m_nHeightRibbonGalleryScrollButton, m_nIndexRibbonGalleryScrollButtonDisabled,
  2162. m_nIndexRibbonGalleryScrollButtonNormal, m_nIndexRibbonGalleryScrollButtonHover,
  2163. m_nIndexRibbonGalleryScrollButtonPressed;
  2164. CExtBitmapCache
  2165. m_bmpArrRibbonGalleryScrollButtonUp,
  2166. m_bmpArrRibbonGalleryScrollButtonDown,
  2167. m_bmpArrRibbonGalleryScrollButtonMenu;
  2168. virtual void RibbonGallery_PaintScrollArea(
  2169. CDC & dc,
  2170. CExtRibbonGalleryInplaceScrollBar * pSB,
  2171. LPARAM lParam = 0L
  2172. );
  2173. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  2174. // tool buttons 2007
  2175. enum e_button_tool_style_arr_t
  2176. {
  2177. __EBTSA_SOLID = 0,
  2178. __EBTSA_LEFT = 1,
  2179. __EBTSA_MIDDLE = 2,
  2180. __EBTSA_RIGHT = 3,
  2181. };
  2182. enum e_button_small_style_arr_t
  2183. {
  2184. __EBSSA_LEFT = 0,
  2185. __EBSSA_RIGHT = 1,
  2186. };
  2187. enum e_button_large_style_arr_t
  2188. {
  2189. __EBLSA_MAIN = 0,
  2190. __EBLSA_DD = 1,
  2191. };
  2192. enum e_tool_button_separator_t
  2193. {
  2194. __ETBS_HOVER = 0,
  2195. __ETBS_PRESSED = 1,
  2196. };
  2197. enum e_large_button_separator_t
  2198. {
  2199. __ELBS_HOVER = 0,
  2200. __ELBS_PRESSED = 1,
  2201. };
  2202. CRect m_rcPaddingOfButtonTS, m_rcPaddingOfButtonSS,
  2203. m_rcPaddingOfButtonLSM, // m_rcPaddingOfButtonLSB,
  2204. m_rcPaddingOfButtonLSXM, m_rcPaddingOfButtonLSXB,
  2205. m_rcPaddingOfToolButtonSeparator, m_rcPaddingOfLargeButtonSeparator;
  2206. INT m_nHeightOfButtonTS, m_nHeightOfButtonSS,
  2207. m_nHeightOfButtonLSM, //, m_nHeightOfButtonLSB,
  2208. m_nHeightOfButtonLSXM, m_nHeightOfButtonLSXB;
  2209. CExtBitmapCache m_bmpArrButtonTS[4],
  2210. m_bmpArrButtonSS_simple, m_bmpArrButtonSS_DD[2],
  2211. m_bmpArrButtonLSM, // m_bmpArrButtonLSB,
  2212. m_bmpArrButtonLSXM, m_bmpArrButtonLSXB,
  2213. m_bmpToolBtnSeparator[2], m_bmpLargeBtnSeparator[2];
  2214. enum e_button2007index_t
  2215. {
  2216. __E07BI_NORMAL = 0,
  2217. __E07BI_HOVER = 1,
  2218. __E07BI_PRESSED = 2,
  2219. __E07BI_HDD = 3,
  2220. __E07BI_SEL_T = 4,
  2221. __E07BI_INDETERMINATE = 5,
  2222. };
  2223. enum e_button2007indexX_t
  2224. {
  2225. __E07BIX_NORMAL = 0,
  2226. __E07BIX_HOVER = 1,
  2227. __E07BIX_HOVER2 = 2,
  2228. __E07BIX_PRESSED = 3,
  2229. __E07BIX_PRESSED2 = 4,
  2230. __E07BIX_PRESSED3 = 5,
  2231. __E07BIX_INDETERMINATE = 6,
  2232. __E07BIX_SELECTED = 7,
  2233. };
  2234. INT m_arrIndicesButtonTS[6], m_arrIndicesButtonSS_Left[6], m_arrIndicesButtonSS_Right[6],
  2235. m_arrIndicesButtonLSM[6], //, m_arrIndicesButtonLSB[6]
  2236. m_arrIndicesButtonLSXM[8], m_arrIndicesButtonLSXB[8];
  2237. virtual INT GetDropDownButtonWidth(
  2238. CObject * pHelperSrc = NULL,
  2239. LPARAM lParam = 0L
  2240. ) const;
  2241. virtual INT GetSpinButtonWidth(
  2242. CObject * pHelperSrc = NULL,
  2243. LPARAM lParam = 0L
  2244. ) const;
  2245. virtual HFONT CreateDefaultFont();
  2246. virtual HFONT CreateCaptionFont();
  2247. COLORREF m_clrRibbonModeMenuTextNormal;
  2248. CExtBitmapCache m_bmpRibbonModeMenuBorder;
  2249. CRect m_rcRibbonModeMenuBorderPadding, m_rcRibbonModeMenuMetrics;
  2250. virtual void PaintMenuItem(
  2251. CDC & dc,
  2252. CExtPaintManager::PAINTMENUITEMDATA & _pmid
  2253. );
  2254. virtual CRect GetMenuBorderMetrics(
  2255. CWnd * pWnd,
  2256. LPARAM lParam = 0
  2257. ) const;
  2258. CRect m_rcPaddingRibbonMenuResizingMarginHV, m_rcPaddingRibbonMenuResizingMarginV;
  2259. CExtBitmapCache m_bmpRibbonMenuResizingMarginHV, m_bmpRibbonMenuResizingMarginV;
  2260. CExtBitmapCache m_bmpRibbonMenuResizingGripperHV, m_bmpRibbonMenuResizingGripperV;
  2261. virtual void MenuBottomResizingMarginGetInfo(
  2262. INT & nMarginHeight,
  2263. INT & nResizingCornerPartWidth,
  2264. CExtPopupMenuWnd * pPopup,
  2265. LPARAM lParam = 0L
  2266. );
  2267. virtual void MenuBottomResizingMarginPaint(
  2268. CDC & dc,
  2269. const RECT & rcResizingArea,
  2270. CExtPopupMenuWnd * pPopup,
  2271. LPARAM lParam = 0L
  2272. );
  2273. COLORREF m_clrMenuCaptionText;
  2274. CExtBitmapCache m_bmpMenuCaptionBk;
  2275. CRect m_rcMenuCaptionBmpPadding;
  2276. virtual void MenuCaption_Paint(
  2277. CDC & dc,
  2278. const RECT & rcMenuCaption,
  2279. __EXT_MFC_SAFE_LPCTSTR sMenuCaptionText,
  2280. CExtPopupMenuWnd * pPopup,
  2281. LPARAM lParam = 0L
  2282. ) const;
  2283. virtual void PaintMenuBorder(
  2284. CDC & dc,
  2285. const RECT & rectClient,
  2286. CObject * pHelperSrc,
  2287. LPARAM lParam = 0L
  2288. );
  2289. virtual void AdjustMenuDC(
  2290. CExtPopupMenuWnd * pPopup,
  2291. CDC & dc,
  2292. bool bMemoryDC,
  2293. LPARAM lParam = 0L
  2294. );
  2295. virtual COLORREF GetShadowAdjustColor();
  2296. virtual const CExtAnimationParameters *
  2297. Animation_GetParameters(
  2298. INT eAPT, // __EAPT_*** animation type
  2299. CObject * pHelperSrc,
  2300. const CExtAnimationClient * pAC,
  2301. LPARAM lParam = 0L
  2302. ) const;
  2303. #if( !defined __EXT_MFC_NO_SPIN || !defined __EXT_MFC_NO_DURATIONWND )
  2304. virtual void PaintSpinButton(
  2305. CDC & dc,
  2306. const CRect & rcButton,
  2307. bool bUp,
  2308. bool bHorz,
  2309. bool bEnabled,
  2310. bool bFlat,
  2311. bool bDrawBorder,
  2312. bool bPushed,
  2313. bool bHover,
  2314. bool bHotTrack,
  2315. CObject * pHelperSrc,
  2316. LPARAM lParam = 0L
  2317. );
  2318. #endif // #if( !defined __EXT_MFC_NO_SPIN || !defined __EXT_MFC_NO_DURATIONWND )
  2319. #ifndef __EXT_MFC_NO_SLIDER
  2320. virtual bool PaintSliderThumb(
  2321. CDC & dc,
  2322. const CRect & rcThumb,
  2323. bool bHorz,
  2324. bool bLeft,
  2325. bool bRight,
  2326. bool bEnabled,
  2327. bool bPushed,
  2328. bool bFocused,
  2329. bool bHover,
  2330. CObject * pHelperSrc,
  2331. LPARAM lParam = 0L
  2332. );
  2333. #endif // __EXT_MFC_NO_SLIDER
  2334. CExtBitmapCache m_bmpAdvTipBorder;
  2335. CRect m_rcAdvTipPaddingBorder, m_rcAdvTipPaddingGradient;
  2336. COLORREF m_clrAdvTipGradientTop, m_clrAdvTipGradientBottom, m_clrAdvTipText;
  2337. bool m_bAdvTipOnePxExcludeMode:1;
  2338. virtual void AdvTip_CalcRgn(
  2339. HRGN hRgnPrecalc,
  2340. const RECT & rcRectRgn,
  2341. bool bDynamicShadowApplied,
  2342. INT nSizeInnerShadowIncluded,
  2343. CObject * pHelperSrc,
  2344. LPARAM lParam = 0L
  2345. );
  2346. virtual bool AdvTip_PaintBackground(
  2347. CDC & dc,
  2348. const RECT & rcClient,
  2349. bool bAdvTipWithShadow,
  2350. CObject * pHelperSrc,
  2351. LPARAM lParam = 0L
  2352. );
  2353. virtual CFont * AdvTip_GetFont(
  2354. CObject * pHelperSrc,
  2355. LPARAM lParam = 0L
  2356. );
  2357. virtual COLORREF AdvTip_GetTextColor(
  2358. CObject * pHelperSrc,
  2359. LPARAM lParam = 0L
  2360. );
  2361. CRect m_rcPaddingRibbonFileMenuBigBorder;
  2362. CExtBitmapCache m_bmpRibbonFileMenuBigBorder;
  2363. CRect m_rcPaddingRibbonFileMenuOptionsButton;
  2364. CExtBitmapCache m_bmpRibbonFileMenuOptionsButtonHot, m_bmpRibbonFileMenuOptionsButtonCold;
  2365. CExtBitmapCache m_bmpResizingGripper;
  2366. // CExtBitmapCache m_bmpZsThumbH, m_bmpZsThumbV, m_bmpZsPlus, m_bmpZsMinus;
  2367. // CExtBitmapCache m_bmpZsThumbDisabledH, m_bmpZsThumbDisabledV, m_bmpZsPlusDisabled, m_bmpZsMinusDisabled;
  2368. // COLORREF m_clrZsLineLightEnabled, m_clrZsLineDarkEnabled, m_clrZsLineLightDisabled, m_clrZsLineDarkDisabled;
  2369. virtual bool PaintGroupBoxFrame(
  2370. CDC & dc,
  2371. const RECT & rcBorder,
  2372. COLORREF clrFrame = COLORREF(-1L),
  2373. CObject * pHelperSrc = NULL,
  2374. LPARAM lParam = 0L
  2375. );
  2376. CExtBitmapCache
  2377. m_bmpProgressMainH, m_bmpProgressMainV,
  2378. m_bmpProgressBorderH, m_bmpProgressBorderV;
  2379. CRect
  2380. m_rcProgressBarPartH,
  2381. m_rcProgressBarPartV,
  2382. m_rcProgressBackgroundPartH,
  2383. m_rcProgressBackgroundPartV,
  2384. m_rcProgressBarPaddingH,
  2385. m_rcProgressBarPaddingV,
  2386. m_rcProgressBackgroundPaddingH,
  2387. m_rcProgressBackgroundPaddingV,
  2388. m_rcProgressBorderPaddingH,
  2389. m_rcProgressBorderPaddingV;
  2390. virtual bool PaintProgress(
  2391. CDC & dc,
  2392. PAINTPROGRESSDATA & _ppd
  2393. );
  2394. #if (!defined __EXT_MFC_NO_CUSTOMIZE)
  2395. virtual COLORREF ScreenTip_GetTextColor(
  2396. bool bCaption,
  2397. bool bMainPart,
  2398. CExtCustomizeCmdScreenTip & _CCST,
  2399. CObject * pHelperSrc = NULL,
  2400. LPARAM lParam = 0L
  2401. );
  2402. virtual void ScreenTip_PaintBackground(
  2403. CDC & dc,
  2404. const RECT & rcScreenTip,
  2405. CExtCustomizeCmdScreenTip & _CCST,
  2406. CObject * pHelperSrc = NULL,
  2407. LPARAM lParam = 0L
  2408. );
  2409. #endif // (!defined __EXT_MFC_NO_CUSTOMIZE)
  2410. // header control
  2411. virtual void Header_PaintBackground(
  2412. CDC & dc,
  2413. CRect rc,
  2414. CObject * pHelperSrc,
  2415. LPARAM lParam = 0L
  2416. );
  2417. virtual void Header_PaintItem(
  2418. CDC & dc,
  2419. CRect rcItemEntire,
  2420. CRect rcItemData,
  2421. CRect rcIcon,
  2422. CRect rcText,
  2423. CRect rcSortArrow,
  2424. CRect rcButton,
  2425. CRect rcButtonIcon,
  2426. bool bSorted,
  2427. bool bSortedAscending,
  2428. INT nColNo,
  2429. INT nColCount,
  2430. const CExtCmdIcon & iconItem,
  2431. const CExtCmdIcon & iconButton,
  2432. bool bHover,
  2433. bool bPressed,
  2434. bool bButtonEvent,
  2435. __EXT_MFC_SAFE_LPCTSTR strItemText,
  2436. CObject * pHelperSrc,
  2437. LPARAM lParam = 0L
  2438. );
  2439. }; // class CExtPaintManagerOffice2007_Impl
  2440. //////////////////////////////////////////////////////////////////////////
  2441. // CExtPaintManagerOffice2007_R1
  2442. //////////////////////////////////////////////////////////////////////////
  2443. class __PROF_UIS_API CExtPaintManagerOffice2007_R1 : public CExtPaintManagerOffice2007_Impl
  2444. {
  2445. public:
  2446. DECLARE_SERIAL( CExtPaintManagerOffice2007_R1 );
  2447. // construction/destruction
  2448. CExtPaintManagerOffice2007_R1();
  2449. virtual ~CExtPaintManagerOffice2007_R1();
  2450. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2451. {
  2452. ASSERT_VALID( this );
  2453. return Office2007_R1;
  2454. }
  2455. virtual void InitTranslatedColors();
  2456. virtual void PaintPushButton(
  2457. CDC & dc,
  2458. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  2459. );
  2460. #if (!defined __EXT_MFC_NO_TAB_CTRL)
  2461. virtual bool TabWnd_GetParentSizingMargin(
  2462. INT & nMargin,
  2463. DWORD dwOrientation,
  2464. CExtTabWnd * pTabWnd
  2465. ) const;
  2466. #endif // #if (!defined __EXT_MFC_NO_TAB_CTRL)
  2467. #if (!defined __EXT_MFC_NO_RIBBON_BAR)
  2468. virtual INT Ribbon_GetGroupHeight(
  2469. const CExtRibbonButtonGroup * pGroupTBB,
  2470. LPARAM lParam = 0L
  2471. );
  2472. virtual INT Ribbon_GetToolGroupExtraOffset(
  2473. const CExtRibbonButtonGroup * pGroupTBB,
  2474. LPARAM lParam = 0L
  2475. );
  2476. virtual INT Ribbon_GetToolGroupExtraLineDistance(
  2477. const CExtRibbonButtonGroup * pGroupTBB,
  2478. LPARAM lParam = 0L
  2479. );
  2480. virtual INT Ribbon_GetOuterGroupDistance(
  2481. const CExtBarButton * pTBB,
  2482. bool bDistanceBefore,
  2483. LPARAM lParam = 0L
  2484. );
  2485. virtual CRect Ribbon_GetContentPadding(
  2486. const CExtBarButton * pTBB,
  2487. LPARAM lParam = 0L
  2488. );
  2489. virtual CExtCmdIcon * Ribbon_GetGroupCollapsedIcon(
  2490. const CExtRibbonButtonGroup * pGroupTBB,
  2491. LPARAM lParam = 0L
  2492. );
  2493. virtual void Ribbon_PaintPageBk(
  2494. CDC & dc,
  2495. const RECT & rcPageBk,
  2496. const CExtRibbonPage * pRibbonPage,
  2497. LPARAM lParam = 0L
  2498. );
  2499. virtual void Ribbon_SyncFonts();
  2500. virtual CRect Ribbon_GetPopupGroupBorderMetrics(
  2501. const CExtRibbonPage * pRibbonPage,
  2502. LPARAM lParam = 0L
  2503. );
  2504. virtual bool Ribbon_IsPopupGroupWithCaption(
  2505. CObject * pHelperSrc,
  2506. LPARAM lParam = 0L
  2507. ) const;
  2508. virtual bool Ribbon_FileButtonCalcLayout(
  2509. CDC & dc,
  2510. CExtNcFrameImpl * pExtNcFrameImpl,
  2511. CExtRibbonButtonFile * pFileTBB,
  2512. LPARAM lParam = 0L
  2513. );
  2514. virtual bool Ribbon_FileButtonPaint(
  2515. CDC & dc,
  2516. CExtRibbonButtonFile * pFileTBB,
  2517. LPARAM lParam = 0L
  2518. );
  2519. virtual void Ribbon_PaintTabClientArea(
  2520. CDC & dc,
  2521. CRect & rcClient,
  2522. CRect & rcTabItemsArea,
  2523. CRect & rcTabNearBorderArea,
  2524. CObject * pHelperSrc,
  2525. LPARAM lParam = 0L
  2526. );
  2527. CExtBitmapCache m_bmpArrRibbonFileButtonR1, m_bmpRibbonFileButtonArea;
  2528. virtual void Ribbon_PaintTabItem(
  2529. CDC & dc,
  2530. CRect & rcTabItemsArea,
  2531. bool bSelected,
  2532. const CRect & rcEntireItem,
  2533. CFont * pFont,
  2534. __EXT_MFC_SAFE_LPCTSTR sText,
  2535. CExtCmdIcon * pIcon,
  2536. CObject * pHelperSrc,
  2537. LPARAM lParam = 0L,
  2538. COLORREF clrForceText = COLORREF(-1L),
  2539. COLORREF clrForceTabBk = COLORREF(-1L),
  2540. COLORREF clrForceTabBorderLT = COLORREF(-1L),
  2541. COLORREF clrForceTabBorderRB = COLORREF(-1L),
  2542. COLORREF clrForceTabSeparator = COLORREF(-1L)
  2543. );
  2544. virtual INT Ribbon_GetTabLineHeight(
  2545. const CExtRibbonPage * pRibbonPage,
  2546. LPARAM lParam = 0L
  2547. ) const;
  2548. virtual CSize Ribbon_CalcButtonSize(
  2549. CDC & dc,
  2550. INT nILV,
  2551. const CExtBarButton * pTBB,
  2552. LPARAM lParam = 0L
  2553. );
  2554. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  2555. }; // class CExtPaintManagerOffice2007_R1
  2556. //////////////////////////////////////////////////////////////////////////
  2557. // CExtPaintManagerOffice2010_Impl
  2558. //////////////////////////////////////////////////////////////////////////
  2559. class __PROF_UIS_API CExtPaintManagerOffice2010_Impl : public CExtPaintManagerOffice2007_Impl
  2560. {
  2561. public:
  2562. DECLARE_DYNAMIC( CExtPaintManagerOffice2010_Impl );
  2563. CExtPaintManagerOffice2010_Impl();
  2564. virtual ~CExtPaintManagerOffice2010_Impl();
  2565. virtual bool PaintDocumentClientAreaBkgnd(
  2566. CDC & dc,
  2567. CWnd * pWnd,
  2568. LPARAM lParam = NULL
  2569. );
  2570. CExtCmdIcon m_arrMdiRightIcons[3];
  2571. virtual void PaintPushButtonMdiRight(
  2572. CDC & dc,
  2573. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  2574. );
  2575. #if (!defined __EXT_MFC_NO_RIBBON_BAR)
  2576. virtual CRect Ribbon_GetContentPadding(
  2577. const CExtBarButton * pTBB,
  2578. LPARAM lParam = 0L
  2579. );
  2580. virtual INT Ribbon_GetOuterGroupDistance(
  2581. const CExtBarButton * pTBB,
  2582. bool bDistanceBefore,
  2583. LPARAM lParam = 0L
  2584. );
  2585. virtual bool Ribbon_HaveSeparatorsBetweenToolGroups() const;
  2586. virtual bool Ribbon_FileButtonCalcLayout(
  2587. CDC & dc,
  2588. CExtNcFrameImpl * pExtNcFrameImpl,
  2589. CExtRibbonButtonFile * pFileTBB,
  2590. LPARAM lParam = 0L
  2591. );
  2592. virtual INT RibbonLayout_CalcQatbAboveRibbonHorzStart(
  2593. CExtRibbonBar * pRibbonBar,
  2594. LPARAM lParam = 0L
  2595. );
  2596. virtual bool Ribbon_IsSystemMenuIconPresent() const;
  2597. virtual bool Ribbon_DwmAreaCoversTabs() const;
  2598. virtual INT Ribbon_GetGroupHeight(
  2599. const CExtRibbonButtonGroup * pGroupTBB,
  2600. LPARAM lParam = 0L
  2601. );
  2602. virtual CSize Ribbon_CalcButtonSize(
  2603. CDC & dc,
  2604. INT nILV,
  2605. const CExtBarButton * pTBB,
  2606. LPARAM lParam = 0L
  2607. );
  2608. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  2609. #if (!defined __EXT_MFC_NO_PAGE_NAVIGATOR )
  2610. virtual void PaintPageNavigatorSplitterDots(
  2611. CDC & dc,
  2612. const CRect & rcSplitter,
  2613. INT nOffsetV = 0
  2614. );
  2615. virtual void PaintPageNavigatorSplitter(
  2616. CDC & dc,
  2617. const CRect & rcSplitter,
  2618. bool bDrawDots = true
  2619. );
  2620. #endif // (!defined __EXT_MFC_NO_PAGE_NAVIGATOR )
  2621. }; // class CExtPaintManagerOffice2010_Impl
  2622. //////////////////////////////////////////////////////////////////////////
  2623. // CExtPaintManagerOffice2010_R1
  2624. //////////////////////////////////////////////////////////////////////////
  2625. class __PROF_UIS_API CExtPaintManagerOffice2010_R1 : public CExtPaintManagerOffice2010_Impl
  2626. {
  2627. public:
  2628. DECLARE_SERIAL( CExtPaintManagerOffice2010_R1 );
  2629. // construction/destruction
  2630. CExtPaintManagerOffice2010_R1();
  2631. virtual ~CExtPaintManagerOffice2010_R1();
  2632. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2633. {
  2634. ASSERT_VALID( this );
  2635. return Office2010_R1;
  2636. }
  2637. virtual void InitTranslatedColors();
  2638. }; // class CExtPaintManagerOffice2010_R1
  2639. //////////////////////////////////////////////////////////////////////////
  2640. // CExtPaintManagerOffice2010_R2_Blue
  2641. //////////////////////////////////////////////////////////////////////////
  2642. class __PROF_UIS_API CExtPaintManagerOffice2010_R2_Blue : public CExtPaintManagerOffice2010_Impl
  2643. {
  2644. public:
  2645. DECLARE_SERIAL( CExtPaintManagerOffice2010_R2_Blue );
  2646. // construction/destruction
  2647. CExtPaintManagerOffice2010_R2_Blue();
  2648. virtual ~CExtPaintManagerOffice2010_R2_Blue();
  2649. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2650. {
  2651. ASSERT_VALID( this );
  2652. return Office2010_R2_Blue;
  2653. }
  2654. virtual void InitTranslatedColors();
  2655. }; // class CExtPaintManagerOffice2010_R2_Blue
  2656. //////////////////////////////////////////////////////////////////////////
  2657. // CExtPaintManagerOffice2010_R2_Silver
  2658. //////////////////////////////////////////////////////////////////////////
  2659. class __PROF_UIS_API CExtPaintManagerOffice2010_R2_Silver : public CExtPaintManagerOffice2010_Impl
  2660. {
  2661. public:
  2662. DECLARE_SERIAL( CExtPaintManagerOffice2010_R2_Silver );
  2663. // construction/destruction
  2664. CExtPaintManagerOffice2010_R2_Silver();
  2665. virtual ~CExtPaintManagerOffice2010_R2_Silver();
  2666. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2667. {
  2668. ASSERT_VALID( this );
  2669. return Office2010_R2_Silver;
  2670. }
  2671. virtual void InitTranslatedColors();
  2672. }; // class CExtPaintManagerOffice2010_R2_Silver
  2673. //////////////////////////////////////////////////////////////////////////
  2674. // CExtPaintManagerOffice2010_R2_Black
  2675. //////////////////////////////////////////////////////////////////////////
  2676. class __PROF_UIS_API CExtPaintManagerOffice2010_R2_Black : public CExtPaintManagerOffice2010_Impl
  2677. {
  2678. public:
  2679. DECLARE_SERIAL( CExtPaintManagerOffice2010_R2_Black );
  2680. // construction/destruction
  2681. CExtPaintManagerOffice2010_R2_Black();
  2682. virtual ~CExtPaintManagerOffice2010_R2_Black();
  2683. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2684. {
  2685. ASSERT_VALID( this );
  2686. return Office2010_R2_Black;
  2687. }
  2688. virtual void InitTranslatedColors();
  2689. virtual void PaintPushButton(
  2690. CDC & dc,
  2691. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  2692. );
  2693. #if (!defined __EXT_MFC_NO_TAB_CTRL)
  2694. virtual void PaintTabButton(
  2695. CDC & dc,
  2696. CRect & rcButton,
  2697. LONG nHitTest,
  2698. bool bTopLeft,
  2699. bool bHorz,
  2700. bool bEnabled,
  2701. bool bHover,
  2702. bool bPushed,
  2703. bool bGroupedMode,
  2704. CObject * pHelperSrc,
  2705. LPARAM lParam = 0L,
  2706. bool bFlat = false
  2707. );
  2708. #endif // #if (!defined __EXT_MFC_NO_TAB_CTRL)
  2709. virtual COLORREF QueryObjectTextColor(
  2710. CDC & dc,
  2711. bool bEnabled,
  2712. bool bFocused,
  2713. bool bHovered,
  2714. bool bPressed,
  2715. CObject * pHelperSrc,
  2716. LPARAM lParam = 0L
  2717. );
  2718. }; // class CExtPaintManagerOffice2010_R2_Black
  2719. //////////////////////////////////////////////////////////////////////////
  2720. // CExtPaintManagerOffice2007_R2_LunaBlue
  2721. //////////////////////////////////////////////////////////////////////////
  2722. class __PROF_UIS_API CExtPaintManagerOffice2007_R2_LunaBlue : public CExtPaintManagerOffice2007_Impl
  2723. {
  2724. public:
  2725. DECLARE_SERIAL( CExtPaintManagerOffice2007_R2_LunaBlue );
  2726. // construction/destruction
  2727. CExtPaintManagerOffice2007_R2_LunaBlue();
  2728. virtual ~CExtPaintManagerOffice2007_R2_LunaBlue();
  2729. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2730. {
  2731. ASSERT_VALID( this );
  2732. return Office2007_R2_LunaBlue;
  2733. }
  2734. virtual void InitTranslatedColors();
  2735. virtual void PaintPushButton(
  2736. CDC & dc,
  2737. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  2738. );
  2739. #if (!defined __EXT_MFC_NO_RIBBON_BAR)
  2740. virtual INT RibbonQuickAccessBar_GetBottomHeight(
  2741. const CExtRibbonPage * pRibbonPage,
  2742. LPARAM lParam = 0L
  2743. ) const;
  2744. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  2745. }; // class CExtPaintManagerOffice2007_R2_LunaBlue
  2746. //////////////////////////////////////////////////////////////////////////
  2747. // CExtPaintManagerOffice2007_R2_Silver
  2748. //////////////////////////////////////////////////////////////////////////
  2749. class __PROF_UIS_API CExtPaintManagerOffice2007_R2_Silver : public CExtPaintManagerOffice2007_Impl
  2750. {
  2751. public:
  2752. DECLARE_SERIAL( CExtPaintManagerOffice2007_R2_Silver );
  2753. // construction/destruction
  2754. CExtPaintManagerOffice2007_R2_Silver();
  2755. virtual ~CExtPaintManagerOffice2007_R2_Silver();
  2756. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2757. {
  2758. ASSERT_VALID( this );
  2759. return Office2007_R2_Silver;
  2760. }
  2761. virtual void InitTranslatedColors();
  2762. virtual void PaintPushButton(
  2763. CDC & dc,
  2764. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  2765. );
  2766. #if (!defined __EXT_MFC_NO_RIBBON_BAR)
  2767. virtual INT RibbonQuickAccessBar_GetBottomHeight(
  2768. const CExtRibbonPage * pRibbonPage,
  2769. LPARAM lParam = 0L
  2770. ) const;
  2771. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  2772. }; // class CExtPaintManagerOffice2007_R2_Silver
  2773. class __PROF_UIS_API CExtPaintManagerOffice2007_R3_Silver : public CExtPaintManagerOffice2007_R2_Silver
  2774. {
  2775. public:
  2776. DECLARE_SERIAL( CExtPaintManagerOffice2007_R3_Silver );
  2777. // construction/destruction
  2778. CExtPaintManagerOffice2007_R3_Silver();
  2779. virtual ~CExtPaintManagerOffice2007_R3_Silver();
  2780. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2781. {
  2782. ASSERT_VALID( this );
  2783. return Office2007_R3_Silver;
  2784. }
  2785. }; // class CExtPaintManagerOffice2007_R3_Silver
  2786. //////////////////////////////////////////////////////////////////////////
  2787. // CExtPaintManagerOffice2007_R3_LunaBlue
  2788. //////////////////////////////////////////////////////////////////////////
  2789. class __PROF_UIS_API CExtPaintManagerOffice2007_R3_LunaBlue : public CExtPaintManagerOffice2007_R2_LunaBlue
  2790. {
  2791. public:
  2792. DECLARE_SERIAL( CExtPaintManagerOffice2007_R3_LunaBlue );
  2793. // construction/destruction
  2794. CExtPaintManagerOffice2007_R3_LunaBlue();
  2795. virtual ~CExtPaintManagerOffice2007_R3_LunaBlue();
  2796. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2797. {
  2798. ASSERT_VALID( this );
  2799. return Office2007_R3_LunaBlue;
  2800. }
  2801. }; // class CExtPaintManagerOffice2007_R3_LunaBlue
  2802. //////////////////////////////////////////////////////////////////////////
  2803. // CExtPaintManagerOffice2007_R2_Obsidian
  2804. //////////////////////////////////////////////////////////////////////////
  2805. class __PROF_UIS_API CExtPaintManagerOffice2007_R2_Obsidian : public CExtPaintManagerOffice2007_Impl
  2806. {
  2807. public:
  2808. DECLARE_SERIAL( CExtPaintManagerOffice2007_R2_Obsidian );
  2809. // construction/destruction
  2810. CExtPaintManagerOffice2007_R2_Obsidian();
  2811. virtual ~CExtPaintManagerOffice2007_R2_Obsidian();
  2812. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2813. {
  2814. ASSERT_VALID( this );
  2815. return Office2007_R2_Obsidian;
  2816. }
  2817. virtual void InitTranslatedColors();
  2818. virtual void PaintPushButton(
  2819. CDC & dc,
  2820. CExtPaintManager::PAINTPUSHBUTTONDATA & _ppbd
  2821. );
  2822. #if (!defined __EXT_MFC_NO_TAB_CTRL)
  2823. virtual void PaintTabButton(
  2824. CDC & dc,
  2825. CRect & rcButton,
  2826. LONG nHitTest,
  2827. bool bTopLeft,
  2828. bool bHorz,
  2829. bool bEnabled,
  2830. bool bHover,
  2831. bool bPushed,
  2832. bool bGroupedMode,
  2833. CObject * pHelperSrc,
  2834. LPARAM lParam = 0L,
  2835. bool bFlat = false
  2836. );
  2837. #endif // #if (!defined __EXT_MFC_NO_TAB_CTRL)
  2838. virtual COLORREF QueryObjectTextColor(
  2839. CDC & dc,
  2840. bool bEnabled,
  2841. bool bFocused,
  2842. bool bHovered,
  2843. bool bPressed,
  2844. CObject * pHelperSrc,
  2845. LPARAM lParam = 0L
  2846. );
  2847. #if (!defined __EXT_MFC_NO_RIBBON_BAR)
  2848. virtual INT RibbonQuickAccessBar_GetBottomHeight(
  2849. const CExtRibbonPage * pRibbonPage,
  2850. LPARAM lParam = 0L
  2851. ) const;
  2852. #endif // (!defined __EXT_MFC_NO_RIBBON_BAR)
  2853. }; // class CExtPaintManagerOffice2007_R2_Obsidian
  2854. //////////////////////////////////////////////////////////////////////////
  2855. // CExtPaintManagerOffice2007_R3_Obsidian
  2856. //////////////////////////////////////////////////////////////////////////
  2857. class __PROF_UIS_API CExtPaintManagerOffice2007_R3_Obsidian : public CExtPaintManagerOffice2007_R2_Obsidian
  2858. {
  2859. public:
  2860. DECLARE_SERIAL( CExtPaintManagerOffice2007_R3_Obsidian );
  2861. // construction/destruction
  2862. CExtPaintManagerOffice2007_R3_Obsidian();
  2863. virtual ~CExtPaintManagerOffice2007_R3_Obsidian();
  2864. virtual e_paint_manager_name_t OnQueryPaintManagerName()
  2865. {
  2866. ASSERT_VALID( this );
  2867. return Office2007_R3_Obsidian;
  2868. }
  2869. }; // class CExtPaintManagerOffice2007_R3_Obsidian
  2870. //////////////////////////////////////////////////////////////////////////
  2871. // CExtPaintManagerOffice2007_Blue
  2872. //////////////////////////////////////////////////////////////////////////
  2873. class __PROF_UIS_API CExtPaintManagerOffice2007_Blue : public CExtPaintManagerOffice2007_R3_LunaBlue
  2874. {
  2875. public:
  2876. DECLARE_SERIAL( CExtPaintManagerOffice2007_Blue );
  2877. CExtPaintManagerOffice2007_Blue();
  2878. virtual ~CExtPaintManagerOffice2007_Blue();
  2879. }; // class CExtPaintManagerOffice2007_Blue
  2880. //////////////////////////////////////////////////////////////////////////
  2881. // CExtPaintManagerOffice2007_Black
  2882. //////////////////////////////////////////////////////////////////////////
  2883. class __PROF_UIS_API CExtPaintManagerOffice2007_Black : public CExtPaintManagerOffice2007_R3_Obsidian
  2884. {
  2885. public:
  2886. DECLARE_SERIAL( CExtPaintManagerOffice2007_Black );
  2887. CExtPaintManagerOffice2007_Black();
  2888. virtual ~CExtPaintManagerOffice2007_Black();
  2889. }; // class CExtPaintManagerOffice2007_Black
  2890. //////////////////////////////////////////////////////////////////////////
  2891. // CExtPaintManagerOffice2007_Silver
  2892. //////////////////////////////////////////////////////////////////////////
  2893. class __PROF_UIS_API CExtPaintManagerOffice2007_Silver : public CExtPaintManagerOffice2007_R3_Silver
  2894. {
  2895. public:
  2896. DECLARE_SERIAL( CExtPaintManagerOffice2007_Silver );
  2897. CExtPaintManagerOffice2007_Silver();
  2898. virtual ~CExtPaintManagerOffice2007_Silver();
  2899. }; // class CExtPaintManagerOffice2007_Silver
  2900. extern __PROF_UIS_API CExtPaintManager::CExtPaintManagerAutoPtr g_PaintManager;
  2901. #endif // __EXT_PAINT_MANAGER_H