XTButton.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:24k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTButton.h : interface for the CXTButton class.
  2. //
  3. // This file is a part of the XTREME CONTROLS MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(__XTBUTTON_H__)
  22. #define __XTBUTTON_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. // forwards
  28. class CXTThemeManager;
  29. class CXTButtonTheme;
  30. class CXTPImageManagerIcon;
  31. #include "XTThemeManager.h"
  32. #include "Common/XTPImageManager.h"
  33. // ---------------------------------------------------------------------
  34. // Summary:
  35. //     CXTButton is a CButton derived class. It is used to create
  36. //     flat style and image buttons. This control has several features
  37. //     including flat, semi-flat, and three dimensional borders.
  38. // ---------------------------------------------------------------------
  39. class _XTP_EXT_CLASS CXTButton : public CButton, public CXTThemeManagerStyleHostBase
  40. {
  41. DECLARE_DYNAMIC(CXTButton)
  42. DECLARE_THEME_HOST(CXTButton)
  43. DECLARE_THEME_REFRESH(CXTButton)
  44. public:
  45. // ----------------------------------------
  46. // Summary:
  47. //     Constructs a CXTButton object
  48. // Parameters:
  49. //     pThemeFactoryClass - Factory runtime class associated with this class
  50. // ----------------------------------------
  51. CXTButton(CRuntimeClass* pThemeFactoryClass = NULL);
  52. // -----------------------------------------------------------
  53. // Summary:
  54. //     Destroys a CXTButton object, handles cleanup and
  55. //     deallocation
  56. // -----------------------------------------------------------
  57. virtual ~CXTButton();
  58. public:
  59. //-----------------------------------------------------------------------
  60. // Summary:
  61. //     Sets the highlight state for the button control.
  62. // Parameters:
  63. //     bChecked - Specifies whether the button is to be checked. TRUE
  64. //                will check the button. FALSE will uncheck it.
  65. // Remarks:
  66. //     This member function sets the highlighting state of a button
  67. //     control. This is the same as its CButton counterpart, except
  68. //     the m_bChecked flag is set.  This is done because MFC does not
  69. //     recognize the button as being checked unless it is a radio or
  70. //     check box.
  71. //-----------------------------------------------------------------------
  72. void SetStateX(BOOL bChecked);
  73. // ------------------------------------------------------------------------
  74. // Summary:
  75. //     Sets the highlight state for the button control.
  76. // Parameters:
  77. //     bChecked -  Specifies whether the button is to be checked. TRUE will
  78. //                 check the button. FALSE will uncheck it.
  79. // Remarks:
  80. //     This member function sets the highlighting state of the button
  81. //     control. This is the same as its CButton counterpart, except the
  82. //     m_bChecked flag is set. This is done because MFC does not recognize
  83. //     the button as being checked unless it is a radio or check box.
  84. // ------------------------------------------------------------------------
  85. void SetChecked(BOOL bChecked);
  86. //-----------------------------------------------------------------------
  87. // Summary:
  88. //     This member function will set the gap between the button's edge
  89. //     and the image.
  90. // Parameters:
  91. //     nGap - Amount in pixels of the gap between the button edge and
  92. //            the image.
  93. // Returns:
  94. //     The previous border gap value.
  95. //-----------------------------------------------------------------------
  96. int SetBorderGap(int nGap);
  97. //-----------------------------------------------------------------------
  98. // Summary:
  99. //     This member function will set the gap between the button's text
  100. //     and the image.
  101. // Parameters:
  102. //     nGap - Amount in pixels of the gap between the button text and
  103. //            the image.
  104. // Returns:
  105. //     The previous border gap value.
  106. //-----------------------------------------------------------------------
  107. int SetImageGap(int nGap);
  108. //-----------------------------------------------------------------------
  109. // Summary:
  110. //     This member function will set the normal and hot state icons for
  111. //     the push button.
  112. // Parameters:
  113. //     size           - CSize object that represents the size of the icon.
  114. //     hIcon          - Handle to the normal icon.
  115. //     hIconHandle    - Handle to the normal icon.
  116. //     hIconHot       - Handle to the hot icon.
  117. //     hIconHotHandle - Handle to the hot icon.
  118. //     nID            - Resource ID for the normal icon.
  119. //     nHotID         - Resource ID for the pressed icon.
  120. //     lpszID         - Resource string ID for the normal icon.
  121. //     lpszHotID      - Resource string ID for the hot icon.
  122. //     bRedraw        - Specifies whether the button is to be redrawn. A
  123. //                      nonzero value redraws the button. A zero value does
  124. //                      not redraw the button. The button is redrawn by default.
  125. // Returns:
  126. //     TRUE if successful, otherwise returns FALSE.
  127. //-----------------------------------------------------------------------
  128. virtual BOOL SetIcon(CSize size, HICON hIcon, HICON hIconHot = NULL, BOOL bRedraw = TRUE);
  129. virtual BOOL SetIcon(CSize size, UINT nID, UINT nHotID = 0, BOOL bRedraw = TRUE);                //<COMBINE CXTButton::SetIcon@CSize@HICON@HICON@BOOL>
  130. virtual BOOL SetIcon(CSize size, LPCTSTR lpszID, LPCTSTR lpszHotID = NULL, BOOL bRedraw = TRUE); //<COMBINE CXTButton::SetIcon@CSize@HICON@HICON@BOOL>
  131. virtual BOOL SetIcon(CSize size, CXTPImageManagerIconHandle hIconHandle, CXTPImageManagerIconHandle hIconHotHandle, BOOL bRedraw = TRUE); //<COMBINE CXTButton::SetIcon@CSize@HICON@HICON@BOOL>
  132. BOOL SetIcon(CSize size, CXTPImageManagerIcon* pIcon, BOOL bRedraw = TRUE);
  133. //-----------------------------------------------------------------------
  134. // Summary:
  135. //     This member function will set the bitmap associated with the
  136. //     button.
  137. // Parameters:
  138. //     size    - CSize object that represents the size of the bitmap.
  139. //     nID     - Resource ID for the bitmap.
  140. //     bRedraw - Specifies whether the button is to be redrawn. A nonzero
  141. //               value redraws the button. A zero value does not redraw
  142. //               the button. The button is redrawn by default.
  143. // Returns:
  144. //     TRUE if successful, otherwise returns FALSE.
  145. //-----------------------------------------------------------------------
  146. virtual BOOL SetBitmap(CSize size, UINT nID, BOOL bRedraw = TRUE);
  147. //-----------------------------------------------------------------------
  148. // Summary:
  149. //     This member function will set the XY location of the text and image
  150. //     that is displayed on the push button.
  151. // Parameters:
  152. //     ptImage - XY location of the image displayed on the button.
  153. //     ptText  - XY location of the text displayed on the button.
  154. //     bRedraw - Specifies whether the button is to be redrawn. A nonzero
  155. //               value redraws the button. A zero value does not redraw
  156. //               the button. The button is redrawn by default.
  157. // Returns:
  158. //     TRUE if successful, otherwise returns FALSE.
  159. //-----------------------------------------------------------------------
  160. virtual BOOL SetTextAndImagePos(CPoint ptImage, CPoint ptText, BOOL bRedraw = TRUE);
  161. // ----------------------------------------------------------------------------
  162. // Summary:
  163. //     This member function will set the display style for the button.
  164. // Parameters:
  165. //     dwxStyle -  Specifies the button style. The button style can be defined
  166. //                 as one or more of the styles listed in the Remarks section.
  167. //     bRedraw -   Specifies whether the button is to be redrawn. A nonzero value
  168. //                 redraws the button. A zero value does not redraw the button.
  169. //                 The button is redrawn by default.
  170. // Remarks:
  171. //     The CXTButton can be set to use one or more of the following
  172. //     styles:
  173. //     * <b>BS_XT_FLAT</b> Draws the button flat without any borders.
  174. //     * <b>BS_XT_SEMIFLAT</b> Draws the button with a thin 3D
  175. //           border.
  176. //     * <b>BS_XT_TWOROWS</b> Draws images and text that are
  177. //           centered.
  178. //     * <b>BS_XT_SHOWFOCUS</b> Draws a focus rect when the button
  179. //           has input focus.
  180. //     * <b>BS_XT_HILITEPRESSED</b> Highlights the button when
  181. //           pressed.
  182. //     * <b>BS_XT_XPFLAT</b> Draws a flat button using Office XP
  183. //           themes.
  184. //     * <b>BS_XT_FLAT_ANY</b> Same as (BS_XT_FLAT | BS_XT_SEMIFLAT)
  185. //     * <b>BS_XT_WINXP_COMPAT</b> Uses Windows XP themes if
  186. //           available. This setting overrides BS_XT_FLAT and BS_XT_SEMIFLAT,
  187. //           but <i>does not</i> override BS_XT_XPFLAT.
  188. // Returns:
  189. //     The previous style that was set.
  190. // See Also:
  191. //     GetXButtonStyle
  192. // ----------------------------------------------------------------------------
  193. virtual DWORD SetXButtonStyle(DWORD dwxStyle, BOOL bRedraw = TRUE);
  194. //-----------------------------------------------------------------------
  195. // Summary:
  196. //     This function returns only the BS_XT_ style values, not any of the
  197. //     other window styles.
  198. // Returns:
  199. //     The button styles for this CXTButton object.
  200. //-----------------------------------------------------------------------
  201. virtual DWORD GetXButtonStyle();
  202. //-----------------------------------------------------------------------
  203. // Summary:
  204. //     Call this member function to determine the gap between the
  205. //     button image and the button's edge.
  206. // Returns:
  207. //     The amount in pixels between the button image and border.
  208. //-----------------------------------------------------------------------
  209. int GetBorderGap() const;
  210. //-----------------------------------------------------------------------
  211. // Summary:
  212. //     Call this member function to determine the gap between the
  213. //     button text and the image.
  214. // Returns:
  215. //     The amount in pixels between the button text and image displayed.
  216. //-----------------------------------------------------------------------
  217. int GetImageGap() const;
  218. //-----------------------------------------------------------------------
  219. // Summary:
  220. //     Call this member function to determine if the button should
  221. //     display highlights on mouse over.
  222. // Returns:
  223. //     TRUE if the button display highlights on mouse over, otherwise
  224. //     returns FALSE.
  225. //-----------------------------------------------------------------------
  226. BOOL GetHilite() const;
  227. //-----------------------------------------------------------------------
  228. // Summary:
  229. //     Call this member function to determine if the user has defined
  230. //     specific locations for text and image display.
  231. // Returns:
  232. //     TRUE if the user has defined text and image display location.
  233. //-----------------------------------------------------------------------
  234. BOOL GetUserPosition() const;
  235. //-----------------------------------------------------------------------
  236. // Summary:
  237. //     Call this member function to determine if the checked state has
  238. //     been defined for the button control.
  239. // Returns:
  240. //     TRUE if the checked state is defined for the button control,
  241. //     otherwise returns FALSE.
  242. //-----------------------------------------------------------------------
  243. BOOL GetChecked() const;
  244. //-----------------------------------------------------------------------
  245. // Summary:
  246. //     Call this member function to retrieve the normal icon image
  247. //     used by the button control.
  248. // Returns:
  249. //     A handle to a HICON object.
  250. //-----------------------------------------------------------------------
  251. HICON GetNormalIcon();
  252. //-----------------------------------------------------------------------
  253. // Summary:
  254. //     Call this member function to retrieve the selected icon image
  255. //     used by the button control.
  256. // Returns:
  257. //     A handle to a HICON object.
  258. //-----------------------------------------------------------------------
  259. HICON GetSelectedIcon();
  260. //-----------------------------------------------------------------------
  261. // Summary:
  262. //     Call this member function to retrieve the disabled bitmap
  263. //     used by the button control.
  264. // Returns:
  265. //     A handle to a HBITMAP object.
  266. //-----------------------------------------------------------------------
  267. HBITMAP GetDisabledBitmap() const;
  268. //-----------------------------------------------------------------------
  269. // Summary:
  270. //     Call this member function to return the size of the image
  271. //     displayed for the button control.
  272. // Returns:
  273. //     A CSize object.
  274. //-----------------------------------------------------------------------
  275. CSize GetImageSize() const;
  276. //-----------------------------------------------------------------------
  277. // Summary:
  278. //     Call this member function to return the x-y location of the
  279. //     top left corner where the button image is displayed.
  280. // Returns:
  281. //     A CPoint object.
  282. //-----------------------------------------------------------------------
  283. CPoint GetImagePoint() const;
  284. //-----------------------------------------------------------------------
  285. // Summary:
  286. //     Call this member function to return the x-y location of the
  287. //     top left corner where text is displayed.
  288. // Returns:
  289. //     A CPoint object.
  290. //-----------------------------------------------------------------------
  291. CPoint GetTextPoint() const;
  292. //--------------------------------------------------------------------
  293. // Summary:
  294. //     This member function is called to check if the button control
  295. //     is using a theme.
  296. // Returns:
  297. //     TRUE if a theme is used, otherwise FALSE.
  298. //--------------------------------------------------------------------
  299. virtual BOOL IsThemeValid() const;
  300. //-----------------------------------------------------------------------
  301. // Summary:
  302. //     Call this member function to return a pointer to the image
  303. //     manager for the button control.
  304. // Returns:
  305. //     A pointer to a CXTPImageManagerIcon object.
  306. //-----------------------------------------------------------------------
  307. CXTPImageManagerIcon* GetIcon() const;
  308. //-----------------------------------------------------------------------
  309. // Summary:
  310. //     This method will allow the user to define the default colors for the
  311. //     background shadow and highlight colors for the button.
  312. // Parameters:
  313. //     clr3DFace    - An RGB value that represents the user defined
  314. //                    face color for three dimensional display elements.
  315. //     clr3DHilight - An RGB value that represents the user defined
  316. //                    highlight color for three dimensional display
  317. //                    elements (edges facing the light source.)
  318. //     clr3DShadow  - An RGB value that represents the user defined
  319. //                    shadow color for three dimensional display
  320. //                    elements (edges facing away from the light source).
  321. //     clrBtnText   - An RGB value that represents the user defined
  322. //                    text color on push buttons.
  323. //-----------------------------------------------------------------------
  324. virtual void SetAlternateColors(COLORREF clr3DFace, COLORREF clr3DHilight, COLORREF clr3DShadow, COLORREF clrBtnText);
  325. //-----------------------------------------------------------------------
  326. // Summary:
  327. //     This member function sets the default face color for the button.
  328. // Parameters:
  329. //     clrFace - An RGB value that represents the user defined face color.
  330. //-----------------------------------------------------------------------
  331. virtual void SetColorFace(COLORREF clrFace);
  332. //-----------------------------------------------------------------------
  333. // Summary:
  334. //     This member function gets the current face color.
  335. // Returns:
  336. //     An RGB value that represents the current face color.
  337. //-----------------------------------------------------------------------
  338. virtual COLORREF GetColorFace();
  339. //-----------------------------------------------------------------------
  340. // Summary:
  341. //     This member function sets the default highlight color for the button.
  342. // Parameters:
  343. //     clrHilite - An RGB value that represents the user defined highlight color.
  344. //-----------------------------------------------------------------------
  345. virtual void SetColorHilite(COLORREF clrHilite);
  346. //-----------------------------------------------------------------------
  347. // Summary:
  348. //     This member function sets the default shadow color for the button.
  349. // Parameters:
  350. //     clrShadow - An RGB value that represents the user defined shadow color.
  351. //-----------------------------------------------------------------------
  352. virtual void SetColorShadow(COLORREF clrShadow);
  353. //-----------------------------------------------------------------------
  354. // Summary:
  355. //     This member function sets the default text color for the button.
  356. // Parameters:
  357. //     clrText - An RGB value that represents the user defined text color.
  358. //-----------------------------------------------------------------------
  359. virtual void SetColorText(COLORREF clrText);
  360. //-----------------------------------------------------------------------
  361. // Summary:
  362. //     This member function sets the colors for the BS_XT_XPFLAT mode.
  363. // Parameters:
  364. //     clrBorder    - An RGB value that represents the user defined
  365. //                    border color for the flat button.
  366. //     clrHighlight - An RGB value that represents the user defined
  367. //                    highlight color for the flat button.
  368. //     clrPressed   - An RGB value that represents the user defined
  369. //                    color for when the flat button is pressed.
  370. //-----------------------------------------------------------------------
  371. virtual void SetXPFlatColors(COLORREF clrBorder, COLORREF clrHighlight, COLORREF clrPressed);
  372. //-----------------------------------------------------------------------
  373. // Summary:
  374. //     This function toggles the image display for the button on or off.
  375. //-----------------------------------------------------------------------
  376. virtual void ResetImage();
  377. //-----------------------------------------------------------------------
  378. // Summary:
  379. //     Call this member function to set the font for the button control.
  380. // Parameters:
  381. //     pFont - Points to a valid CFont object.
  382. // Returns:
  383. //     A pointer to the previously set font for the button control.
  384. //-----------------------------------------------------------------------
  385. virtual CFont* SetFontEx(CFont* pFont);
  386. BYTE GetButtonStyle() const;
  387. protected:
  388. //-----------------------------------------------------------------------
  389. // Summary:
  390. //     This member function is called by the CXTButton class to
  391. //     perform initialization when the window is created or sub-classed.
  392. // Returns:
  393. //     TRUE if the window was successfully initialized, otherwise FALSE.
  394. //-----------------------------------------------------------------------
  395. virtual bool Init();
  396. //-----------------------------------------------------------------------
  397. // Summary:
  398. //     This member function is called to free all associated GDI resources
  399. //     that have been allocated.
  400. //-----------------------------------------------------------------------
  401. virtual void CleanUpGDI();
  402. //-----------------------------------------------------------------------
  403. // Summary:
  404. //     Call this member function to return the button's text minus the '&'.
  405. // Parameters:
  406. //     bRemoveAmpersand - TRUE to remove the '&' used for mnemonics.
  407. // Returns:
  408. //     A CString object that represents the button's text.
  409. //-----------------------------------------------------------------------
  410. virtual CString GetButtonText(BOOL bRemoveAmpersand);
  411. protected:
  412. //{{AFX_CODEJOCK_PRIVATE
  413. DECLARE_MESSAGE_MAP()
  414. //{{AFX_VIRTUAL(CXTButton)
  415. virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  416. virtual void PreSubclassWindow();
  417. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  418. //}}AFX_VIRTUAL
  419. virtual void OnDraw(CDC* pDC);
  420. //{{AFX_MSG(CXTButton)
  421. afx_msg UINT OnGetDlgCode();
  422. afx_msg LRESULT OnSetStyle(WPARAM wParam, LPARAM lParam);
  423. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  424. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  425. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  426. afx_msg void OnSetFocus(CWnd* pOldWnd);
  427. afx_msg void OnKillFocus(CWnd* pNewWnd);
  428. afx_msg void OnPaint();
  429. afx_msg LRESULT OnSetState(WPARAM wParam, LPARAM lParam);
  430. afx_msg void OnMouseLeave();
  431. afx_msg void OnInvalidate();
  432. afx_msg LRESULT OnDefaultAndInvalidate(WPARAM, LPARAM);
  433. afx_msg LRESULT OnUpdateUIState(WPARAM wParam, LPARAM lParam);
  434. afx_msg LRESULT OnSetText(WPARAM wParam, LPARAM lParam);
  435. afx_msg LRESULT OnPrintClient(WPARAM wParam, LPARAM lParam);
  436. //}}AFX_MSG
  437. //}}AFX_CODEJOCK_PRIVATE
  438. protected:
  439. int                   m_nBorderGap;        // Gap between the button edge and the image.
  440. int                   m_nImageGap;         // Gap between the button text and the image.
  441. bool                  m_bPreSubclassInit;  // true when initializing from PreSubclassWindow.
  442. BOOL                  m_bUserPosition;     // TRUE if the user has defined the XY coordinates for the image and text.
  443. BOOL                  m_bChecked;          // TRUE if the button is checked.
  444. DWORD                 m_dwxStyle;          // The style of the button, see SetXButtonStyle.
  445. CSize                 m_sizeImage;         // Initial size of the button.
  446. CPoint                m_ptImage;           // XY location of the button image.
  447. CPoint                m_ptText;            // XY location of the button text.
  448. CXTPImageManagerIcon* m_pIcon;             // Multiple state icon manager converts icon to different states.
  449. protected:
  450. BOOL m_bHot;            // TRUE if mouse under button
  451. BOOL m_bPushed;         // TRUE if button was pressed
  452. BOOL m_bOwnerDraw;
  453. };
  454. //////////////////////////////////////////////////////////////////////
  455. AFX_INLINE int CXTButton::SetImageGap(int nGap) {
  456. int nOldGap = m_nImageGap; m_nImageGap = nGap; return nOldGap;
  457. }
  458. AFX_INLINE int CXTButton::SetBorderGap(int nGap) {
  459. int nOldGap = m_nBorderGap; m_nBorderGap = nGap; return nOldGap;
  460. }
  461. AFX_INLINE DWORD CXTButton::GetXButtonStyle() {
  462. ASSERT(::IsWindow(m_hWnd)); return m_dwxStyle;
  463. }
  464. AFX_INLINE void CXTButton::SetStateX(BOOL bChecked) {
  465. m_bChecked = bChecked; if (GetSafeHwnd()) Invalidate(FALSE);
  466. }
  467. AFX_INLINE void CXTButton::SetChecked(BOOL bChecked) {
  468. m_bChecked = bChecked; if (GetSafeHwnd()) Invalidate(FALSE);
  469. }
  470. AFX_INLINE int CXTButton::GetBorderGap() const {
  471. return m_nBorderGap;
  472. }
  473. AFX_INLINE int CXTButton::GetImageGap() const {
  474. return m_nImageGap;
  475. }
  476. AFX_INLINE BOOL CXTButton::GetHilite() const {
  477. return m_bHot || (::GetCapture() == m_hWnd);
  478. }
  479. AFX_INLINE BOOL CXTButton::GetUserPosition() const {
  480. return m_bUserPosition;
  481. }
  482. AFX_INLINE BOOL CXTButton::GetChecked() const {
  483. return m_bChecked;
  484. }
  485. #ifndef ODS_NOACCEL
  486. #define ODS_NOACCEL         0x0100
  487. #endif
  488. #ifndef ODS_NOFOCUSRECT
  489. #define ODS_NOFOCUSRECT     0x0200
  490. #endif
  491. const DWORD BS_XT_FLAT             = 0x0001;  //<ALIAS CXTButton::SetXButtonStyle@DWORD@BOOL>
  492. const DWORD BS_XT_SEMIFLAT         = 0x0002;  //<ALIAS CXTButton::SetXButtonStyle@DWORD@BOOL>
  493. const DWORD BS_XT_FLAT_ANY         = 0x0003;  //<ALIAS CXTButton::SetXButtonStyle@DWORD@BOOL>
  494. const DWORD BS_XT_TWOROWS          = 0x0004;  //<ALIAS CXTButton::SetXButtonStyle@DWORD@BOOL>
  495. const DWORD BS_XT_SHOWFOCUS        = 0x0010;  //<ALIAS CXTButton::SetXButtonStyle@DWORD@BOOL>
  496. const DWORD BS_XT_HILITEPRESSED    = 0x0020;  //<ALIAS CXTButton::SetXButtonStyle@DWORD@BOOL>
  497. const DWORD BS_XT_XPFLAT           = 0x0040;  //<ALIAS CXTButton::SetXButtonStyle@DWORD@BOOL>
  498. const DWORD BS_XT_WINXP_COMPAT     = 0x1000;  //<ALIAS CXTButton::SetXButtonStyle@DWORD@BOOL>
  499. #endif // #if !defined(__XTBUTTON_H__)