8 #ifndef GLASSEXTENDER_H_
9 #define GLASSEXTENDER_H_
11 #include <classes.hpp>
14 #include <messages.hpp>
29 typedef struct _MARGINS
38 typedef struct _DTTOPTS {
52 void * pfnDrawTextCallback;
57 #define DTT_TEXTCOLOR 0x00000001L
58 #define DTT_BORDERCOLOR 0x00000002L
59 #define DTT_SHADOWCOLOR 0x00000004L
60 #define DTT_SHADOWTYPE 0x00000008L
61 #define DTT_SHADOWOFFSET 0x00000010L
62 #define DTT_BORDERSIZE 0x00000020L
63 #define DTT_FONTPROP 0x00000040L
64 #define DTT_COLORPROP 0x00000080L
65 #define DTT_STATEID 0x00000100L
66 #define DTT_CALCRECT 0x00000200L
67 #define DTT_APPLYOVERLAY 0x00000400L
68 #define DTT_GLOWSIZE 0x00000800L
69 #define DTT_CALLBACK 0x00001000L
70 #define DTT_COMPOSITED 0x00002000L
74 typedef HRESULT (__stdcall *DWMEnabledProc)(BOOL * enabled);
75 typedef HRESULT (__stdcall *ExtendFrameProc)(HANDLE hWnd,
const MARGINS *pMarInset);
76 typedef HRESULT (__stdcall *DrawThemeTextExProc)(HANDLE hTheme,
84 const DTTOPTS *pOptions);
86 typedef HANDLE (__stdcall *OpenThemeDataProc)(HWND hwnd, LPCWSTR pszClassList);
87 typedef HRESULT (__stdcall *CloseThemeDataProc)(HANDLE hTheme);
92 ExtendFrameProc m_ExtendFrameProc;
93 DWMEnabledProc m_DWMEnabledProc;
94 DrawThemeTextExProc m_DrawThemeTextExProc;
95 OpenThemeDataProc m_OpenThemeDataProc;
96 CloseThemeDataProc m_CloseThemeDataProc;
98 bool glassWindow(TWinControl * winControl);
99 bool extendIntoClientAll();
100 void DWMCompositionChanged(TMessage& Msg);
114 bool drawGlowText(HDC dc,
const AnsiString& item,
const TRect &itemRect,