|
mCtrl
0.11.5
|
Go to the source code of this file.
Theme wrapper functions.
This miscellaneous module provides wrapper of functions exported from UXTHEME.DLL, as the library is only available on Windows XP and later.
The wrappers deal with situation when the UXTHEME.DLL is not available (e.g. on Windows 2000), when themes are disabled (then mcOpenThemeData() and al. return NULL) and so on.
The wrapper functions provided by this module simply have the same name as functions exported from UXTHEME.DLL, with the prefix mc prepended. Each wrapper simply calls its counterpart in UXTHEME.DLL if it is loaded and available (as some UXTHEME.DLL functions were introduced later then on Windows XP).
Before using anu functions from this modules, application has 1st to initialize it with mcTheme_Initialize(). The functions attempts to load UXTHEME.DLL if available and performs needed initialization.
If the UXTHEME.DLL is not used, or if the particular function is not available, then most of the wrapper functions just fail gracefully and return E_NOTIMPL, NULL, 0 or FALSE, depending on the return type.
However there are also wrapper functions which provide some reasonable fallback implementation. Those cases are described in description of particular functions, and also see sections below.
UXTHEME.DLL function, then get its address manually with GetProcAddress() and do not rely on mCtrl wrapper functions.Majority of UXTHEME.DLL API focuses on themed painting (all those functions working with HTHEME handle).
If UXTHEME.DLL is not available, or if application uses COMCTL32.DLL version 5.x or older, all the wrappers falling into this category behave as if no theming is available.
This in particular means the following:
NULL.FALSE.All the wrapper functions for getting system theme properties, i.e. all the functions mcGetThemeSys...(), implement a reasonable fallback, calling SystemParametersInfo(), GetSysColor() and so on.
The only notable exception is mcGetThemeSysInt() which has no pre-theme counterpart (as far as authors of mCtrl are aware).
section sec_theme_buffered_paint Buffered Painting.
All the functions for double-buffering, i.e. mcBufferedPaintInit(), mcBufferedPaintUnInit(), mcBeginBufferedPaint() and mcEndBufferedPaint(), implement a fallback in case UXTHEME.DLL is not available.
All those fallbacks are good enough for implementing simple double-buffered painting. This limitations for example means the paramaters like dwFormat or pPaintParams of mcBeginBufferedPaint() are simply ignored.
(However note that nothing more is provided by the fallback. In particular, mcBufferedPaintClear() and mcBufferedPaintSetAlpha() just fail.)
This allows application to implement a double-buffered painting regardless whether UXTHEME.DLL is present or not.
Initialization Functions | |
| BOOL | mcTheme_Initialize (void) |
| void | mcTheme_Terminate (void) |
Wrapper Functions | |
| HANIMATIONBUFFER | mcBeginBufferedAnimation (HWND hwnd, HDC hdcTarget, const RECT *rcTarget, BP_BUFFERFORMAT dwFormat, BP_PAINTPARAMS *pPaintParams, BP_ANIMATIONPARAMS *pAnimationParams, HDC *phdcFrom, HDC *phdcTo) |
| HPAINTBUFFER | mcBeginBufferedPaint (HDC hdcTarget, const RECT *prcTarget, BP_BUFFERFORMAT dwFormat, BP_PAINTPARAMS *pPaintParams, HDC *phdc) |
| BOOL | mcBeginPanningFeedback (HWND hwnd) |
| HRESULT | mcBufferedPaintClear (HPAINTBUFFER hBufferedPaint, const RECT *prc) |
| HRESULT | mcBufferedPaintInit (void) |
| BOOL | mcBufferedPaintRenderAnimation (HWND hwnd, HDC hdcTarget) |
| HRESULT | mcBufferedPaintSetAlpha (HPAINTBUFFER hBufferedPaint, const RECT *prc, BYTE alpha) |
| HRESULT | mcBufferedPaintStopAllAnimations (HWND hwnd) |
| HRESULT | mcBufferedPaintUnInit (void) |
| HRESULT | mcCloseThemeData (HTHEME hTheme) |
| HRESULT | mcDrawThemeBackground (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *prc, const RECT *prcClip) |
| HRESULT | mcDrawThemeBackgroundEx (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *prc, const DTBGOPTS *pOptions) |
| HRESULT | mcDrawThemeEdge (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *prcDest, UINT uEdge, UINT uFlags, RECT *prcContent) |
| HRESULT | mcDrawThemeIcon (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *prc, HIMAGELIST himl, int iImageIndex) |
| HRESULT | mcDrawThemeParentBackground (HWND hwnd, HDC hdc, RECT *prc) |
| HRESULT | mcDrawThemeParentBackgroundEx (HWND hwnd, HDC hdc, DWORD dwFlags, RECT *prc) |
| HRESULT | mcDrawThemeText (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const WCHAR *pszText, int iCharCount, DWORD dwFlags, DWORD dwFlags2, const RECT *prc) |
| HRESULT | mcDrawThemeTextEx (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const WCHAR *pszText, int iCharCount, DWORD dwFlags, RECT *prc, const DTTOPTS *pOptions) |
| HRESULT | mcEnableThemeDialogTexture (HWND hwnd, DWORD dwFlags) |
| HRESULT | mcEndBufferedAnimation (HANIMATIONBUFFER hbpAnimation, BOOL fUpdateTarget) |
| HRESULT | mcEndBufferedPaint (HPAINTBUFFER hBufferedPaint, BOOL fUpdateTarget) |
| BOOL | mcEndPanningFeedback (HWND hwnd, BOOL fAnimateBack) |
| HRESULT | mcGetBufferedPaintBits (HPAINTBUFFER hBufferedPaint, RGBQUAD **ppbBuffer, int *pcxRow) |
| HDC | mcGetBufferedPaintDC (HPAINTBUFFER hBufferedPaint) |
| HDC | mcGetBufferedPaintTargetDC (HPAINTBUFFER hBufferedPaint) |
| HRESULT | mcGetBufferedPaintTargetRect (HPAINTBUFFER hBufferedPaint, RECT *prc) |
| HRESULT | mcGetCurrentThemeName (WCHAR *pszThemeFilename, int cchMaxFilenameChars, WCHAR *pszColorBuff, int cchMaxColorChars, WCHAR *pszSizeBuff, int cchMaxSizeChars) |
| DWORD | mcGetThemeAppProperties (void) |
| HRESULT | mcGetThemeBackgroundContentRect (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *prcBounding, RECT *prcContent) |
| HRESULT | mcGetThemeBackgroundExtent (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *prcContent, RECT *prcExtent) |
| HRESULT | mcGetThemeBackgroundRegion (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *prc, HRGN *phRegion) |
| HRESULT | mcGetThemeBitmap (HTHEME hTheme, int iPartId, int iStateId, int iPropId, ULONG uFlags, HBITMAP *phBitmap) |
| HRESULT | mcGetThemeBool (HTHEME hTheme, int iPartId, int iStateId, int iPropId, BOOL *pfValue) |
| HRESULT | mcGetThemeColor (HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor) |
| HRESULT | mcGetThemeDocumentationProperty (const WCHAR *pszThemeName, const WCHAR *pszPropName, WCHAR *pszValueBuf, int cchMaxValChars) |
| HRESULT | mcGetThemeEnumValue (HTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piValue) |
| HRESULT | mcGetThemeFilename (HTHEME hTheme, int iPartId, int iStateId, int iPropId, WCHAR *pszThemeFilename, int cchMaxBuffChars) |
| HRESULT | mcGetThemeFont (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, LOGFONTW *pLogFont) |
| HRESULT | mcGetThemeInt (HTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piValue) |
| HRESULT | mcGetThemeIntList (HTHEME hTheme, int iPartId, int iStateId, int iPropId, INTLIST *pIntList) |
| HRESULT | mcGetThemeMargins (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, RECT *prc, MARGINS *pMargins) |
| HRESULT | mcGetThemeMetric (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, int *piValue) |
| HRESULT | mcGetThemePartSize (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *prc, enum THEMESIZE eSize, SIZE *psz) |
| HRESULT | mcGetThemePosition (HTHEME hTheme, int iPartId, int iStateId, int iPropId, POINT *pPoint) |
| HRESULT | mcGetThemePropertyOrigin (HTHEME hTheme, int iPartId, int iStateId, int iPropId, enum PROPERTYORIGIN *pOrigin) |
| HRESULT | mcGetThemeRect (HTHEME hTheme, int iPartId, int iStateId, int iPropId, RECT *prc) |
| HRESULT | mcGetThemeStream (HTHEME hTheme, int iPartId, int iStateId, int iPropId, void **ppvStream, DWORD *pcbStream, HINSTANCE hInst) |
| HRESULT | mcGetThemeString (HTHEME hTheme, int iPartId, int iStateId, int iPropId, WCHAR *pszBuff, int cchMaxBuffChars) |
| BOOL | mcGetThemeSysBool (HTHEME hTheme, int iBoolId) |
| COLORREF | mcGetThemeSysColor (HTHEME hTheme, int iColorId) |
| HBRUSH | mcGetThemeSysColorBrush (HTHEME hTheme, int iColorId) |
| HRESULT | mcGetThemeSysFont (HTHEME hTheme, int iFontId, LOGFONTW *pLogFont) |
| HRESULT | mcGetThemeSysInt (HTHEME hTheme, int iIntId, int *piValue) |
| int | mcGetThemeSysSize (HTHEME hTheme, int iSizeId) |
| HRESULT | mcGetThemeSysString (HTHEME hTheme, int iStringId, WCHAR *pszBuff, int cchMaxBuffChars) |
| HRESULT | mcGetThemeTextExtent (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const WCHAR *pszText, int cchTextMax, DWORD dwFlags, const RECT *prcBounding, RECT *prcExtent) |
| HRESULT | mcGetThemeTextMetrics (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, TEXTMETRIC *pTextMetric) |
| HRESULT | mcGetThemeTransitionDuration (HTHEME hTheme, int iPartId, int iStateIdFrom, int iStateIdTo, int iPropId, DWORD *pdwDuration) |
| HTHEME | mcGetWindowTheme (HWND hwnd) |
| HRESULT | mcHitTestThemeBackground (HTHEME hTheme, HDC hdc, int iPartId, int iStateId, DWORD dwOptions, const RECT *prc, HRGN hrgn, POINT ptTest, WORD *pwHitTestCode) |
| BOOL | mcIsAppThemed (void) |
| BOOL | mcIsCompositionActive (void) |
| BOOL | mcIsThemeActive (void) |
| BOOL | mcIsThemeBackgroundPartiallyTransparent (HTHEME hTheme, int iPartId, int iStateId) |
| BOOL | mcIsThemeDialogTextureEnabled (HWND hwnd) |
| BOOL | mcIsThemePartDefined (HTHEME hTheme, int iPartId, int iStateId) |
| HTHEME | mcOpenThemeData (HWND hwnd, const WCHAR *pszClassList) |
| HTHEME | mcOpenThemeDataEx (HWND hwnd, const WCHAR *pszClassList, DWORD dwFlags) |
| void | mcSetThemeAppProperties (DWORD dwFlags) |
| HRESULT | mcSetWindowTheme (HWND hwnd, const WCHAR *pszSubAppName, const WCHAR *pszSubIdList) |
| HRESULT | mcSetWindowThemeAttribute (HWND hwnd, enum WINDOWTHEMEATTRIBUTETYPE eAttribute, void *pvAttribute, DWORD cbAttribute) |
| BOOL | mcUpdatePanningFeedback (HWND hwnd, LONG lTotalOverpanOffsetX, LONG lTotalOverpanOffsetY, BOOL fInInertia) |
| BOOL mcTheme_Initialize | ( | void | ) |
Initializes the module. This function must be called before any other function of this module is used.
Note that the function checks version of Windows and version of COMCTL32.DLL. It only loads UXTHEME.DLL and gets
TRUE on success, FALSE on failure. | void mcTheme_Terminate | ( | void | ) |
Uninitialization. If mcTheme_Initialize() loaded UXTHEME.DLL, is is unloaded with FreeLibrary() and releases any related resources.
| HANIMATIONBUFFER mcBeginBufferedAnimation | ( | HWND | hwnd, |
| HDC | hdcTarget, | ||
| const RECT * | rcTarget, | ||
| BP_BUFFERFORMAT | dwFormat, | ||
| BP_PAINTPARAMS * | pPaintParams, | ||
| BP_ANIMATIONPARAMS * | pAnimationParams, | ||
| HDC * | phdcFrom, | ||
| HDC * | phdcTo | ||
| ) |
Calls BeginBufferedAnimation() if available (and UXTHEME.DLL is in use), or returns NULL.
| hwnd | |
| hdcTarget | |
| rcTarget | |
| dwFormat | |
| pPaintParams | |
| pAnimationParams | |
| phdcFrom | |
| phdcTo |
BeginBufferedAnimation() or NULL._WIN32_WINNT to be 0x0600 or newer. | HPAINTBUFFER mcBeginBufferedPaint | ( | HDC | hdcTarget, |
| const RECT * | prcTarget, | ||
| BP_BUFFERFORMAT | dwFormat, | ||
| BP_PAINTPARAMS * | pPaintParams, | ||
| HDC * | phdc | ||
| ) |
Calls BeginBufferedPaint() if available (and UXTHEME.DLL is in use), or emulates it if it does not.
| hdcTarget | |
| prcTarget | |
| dwFormat | |
| pPaintParams | |
| phdc |
BeginBufferedPaint() or NULL._WIN32_WINNT to be 0x0600 or newer. | BOOL mcBeginPanningFeedback | ( | HWND | hwnd | ) |
Calls BeginPanningFeedback() if available (and UXTHEME.DLL is in use), or returns FALSE.
| hwnd |
BeginPanningFeedback() or FALSE._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcBufferedPaintClear | ( | HPAINTBUFFER | hBufferedPaint, |
| const RECT * | prc | ||
| ) |
Calls BufferedPaintClear() if available (and UXTHEME.DLL is in use), orreturns E_NOTIMPL.
| hBufferedPaint | |
| prc |
BufferedPaintClear() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcBufferedPaintInit | ( | void | ) |
Calls BufferedPaintInit() if available (and UXTHEME.DLL is in use), or emulates it if it does not.
BufferedPaintInit() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | BOOL mcBufferedPaintRenderAnimation | ( | HWND | hwnd, |
| HDC | hdcTarget | ||
| ) |
Calls BufferedPaintRenderAnimation() if available (and UXTHEME.DLL is in use), or returns FALSE.
| hwnd | |
| hdcTarget |
mcBufferedPaintRenderAnimation() or FALSE._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcBufferedPaintSetAlpha | ( | HPAINTBUFFER | hBufferedPaint, |
| const RECT * | prc, | ||
| BYTE | alpha | ||
| ) |
Calls BufferedPaintSetAlpha() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hBufferedPaint | |
| prc | |
| alpha |
BufferedPaintSetAlpha() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcBufferedPaintStopAllAnimations | ( | HWND | hwnd | ) |
Calls BufferedPaintStopAllAnimations() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hwnd |
BufferedPaintStopAllAnimations() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcBufferedPaintUnInit | ( | void | ) |
Calls BufferedPaintUnInit() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
BufferedPaintUnInit() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcCloseThemeData | ( | HTHEME | hTheme | ) |
Calls CloseThemeData() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme |
CloseThemeData() or E_NOTIMPL. | HRESULT mcDrawThemeBackground | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const RECT * | prc, | ||
| const RECT * | prcClip | ||
| ) |
Calls DrawThemeBackground() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| prc | |
| prcClip |
DrawThemeBackground() or E_NOTIMPL. | HRESULT mcDrawThemeBackgroundEx | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const RECT * | prc, | ||
| const DTBGOPTS * | pOptions | ||
| ) |
Calls DrawThemeBackgroundEx() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| prc | |
| pOptions |
DrawThemeBackgroundEx() or E_NOTIMPL. | HRESULT mcDrawThemeEdge | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const RECT * | prcDest, | ||
| UINT | uEdge, | ||
| UINT | uFlags, | ||
| RECT * | prcContent | ||
| ) |
Calls DrawThemeEdge() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| prcDest | |
| uEdge | |
| uFlags | |
| prcContent |
DrawThemeEdge() or E_NOTIMPL. | HRESULT mcDrawThemeIcon | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const RECT * | prc, | ||
| HIMAGELIST | himl, | ||
| int | iImageIndex | ||
| ) |
Calls DrawThemeIcon() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| prc | |
| himl | |
| iImageIndex |
DrawThemeIcon() or E_NOTIMPL. | HRESULT mcDrawThemeParentBackground | ( | HWND | hwnd, |
| HDC | hdc, | ||
| RECT * | prc | ||
| ) |
Calls DrawThemeParentBackground() if available (and UXTHEME.DLL is in use).
If it is not, the function fallbacks to asking the parent to paint itself by sending WM_ERASEBKGND and WM_PRINTCLIENT.
| hwnd | |
| hdc | |
| prc |
DrawThemeParentBackground() or S_OK. | HRESULT mcDrawThemeParentBackgroundEx | ( | HWND | hwnd, |
| HDC | hdc, | ||
| DWORD | dwFlags, | ||
| RECT * | prc | ||
| ) |
Calls DrawThemeParentBackgroundEx() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hwnd | |
| hdc | |
| dwFlags | |
| prc |
DrawThemeParentBackgroundEx() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcDrawThemeText | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const WCHAR * | pszText, | ||
| int | iCharCount, | ||
| DWORD | dwFlags, | ||
| DWORD | dwFlags2, | ||
| const RECT * | prc | ||
| ) |
Calls DrawThemeText() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| pszText | |
| iCharCount | |
| dwFlags | |
| dwFlags2 | |
| prc |
DrawThemeText() or E_NOTIMPL. | HRESULT mcDrawThemeTextEx | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const WCHAR * | pszText, | ||
| int | iCharCount, | ||
| DWORD | dwFlags, | ||
| RECT * | prc, | ||
| const DTTOPTS * | pOptions | ||
| ) |
Calls DrawThemeTextEx() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| pszText | |
| iCharCount | |
| dwFlags | |
| prc | |
| pOptions |
DrawThemeTextEx() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcEnableThemeDialogTexture | ( | HWND | hwnd, |
| DWORD | dwFlags | ||
| ) |
Calls EnableThemeDialogTexture() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hwnd | |
| dwFlags |
EnableThemeDialogTexture() or E_NOTIMPL. | HRESULT mcEndBufferedAnimation | ( | HANIMATIONBUFFER | hbpAnimation, |
| BOOL | fUpdateTarget | ||
| ) |
Calls EndBufferedAnimation() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hbpAnimation | |
| fUpdateTarget |
EndBufferedAnimation() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcEndBufferedPaint | ( | HPAINTBUFFER | hBufferedPaint, |
| BOOL | fUpdateTarget | ||
| ) |
Calls EndBufferedPaint() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hBufferedPaint | |
| fUpdateTarget |
EndBufferedPaint() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | BOOL mcEndPanningFeedback | ( | HWND | hwnd, |
| BOOL | fAnimateBack | ||
| ) |
Calls EndPanningFeedback() if available (and UXTHEME.DLL is in use), or returns FALSE.
| hwnd | |
| fAnimateBack |
EndPanningFeedback() or FALSE._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcGetBufferedPaintBits | ( | HPAINTBUFFER | hBufferedPaint, |
| RGBQUAD ** | ppbBuffer, | ||
| int * | pcxRow | ||
| ) |
Calls GetBufferedPaintBits() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hBufferedPaint | |
| ppbBuffer | |
| pcxRow |
GetBufferedPaintBits() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HDC mcGetBufferedPaintDC | ( | HPAINTBUFFER | hBufferedPaint | ) |
Calls GetBufferedPaintDC() if available (and UXTHEME.DLL is in use), or returns NULL.
| hBufferedPaint |
GetBufferedPaintDC() or NULL._WIN32_WINNT to be 0x0600 or newer. | HDC mcGetBufferedPaintTargetDC | ( | HPAINTBUFFER | hBufferedPaint | ) |
Calls GetBufferedPaintTargetDC() if available (and UXTHEME.DLL is in use), or returns NULL.
| hBufferedPaint |
GetBufferedPaintTargetDC() or NULL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcGetBufferedPaintTargetRect | ( | HPAINTBUFFER | hBufferedPaint, |
| RECT * | prc | ||
| ) |
Calls GetBufferedPaintTargetRect() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hBufferedPaint | |
| prc |
GetBufferedPaintTargetRect() or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HRESULT mcGetCurrentThemeName | ( | WCHAR * | pszThemeFilename, |
| int | cchMaxFilenameChars, | ||
| WCHAR * | pszColorBuff, | ||
| int | cchMaxColorChars, | ||
| WCHAR * | pszSizeBuff, | ||
| int | cchMaxSizeChars | ||
| ) |
Calls GetCurrentThemeName() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| pszThemeFilename | |
| cchMaxFilenameChars | |
| pszColorBuff | |
| cchMaxColorChars | |
| pszSizeBuff | |
| cchMaxSizeChars |
GetCurrentThemeName() or E_NOTIMPL. | DWORD mcGetThemeAppProperties | ( | void | ) |
Calls GetThemeAppProperties() if available (and UXTHEME.DLL is in use), or returns NULL.
GetThemeAppProperties() or 0. | HRESULT mcGetThemeBackgroundContentRect | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const RECT * | prcBounding, | ||
| RECT * | prcContent | ||
| ) |
Calls GetThemeBackgroundContentRect() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| prcBounding | |
| prcContent |
GetThemeBackgroundContentRect() or E_NOTIMPL. | HRESULT mcGetThemeBackgroundExtent | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const RECT * | prcContent, | ||
| RECT * | prcExtent | ||
| ) |
Calls GetThemeBackgroundExtent() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| prcContent | |
| prcExtent |
GetThemeBackgroundExtent() or E_NOTIMPL. | HRESULT mcGetThemeBackgroundRegion | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const RECT * | prc, | ||
| HRGN * | phRegion | ||
| ) |
Calls GetThemeBackgroundRegion() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| prc | |
| phRegion |
GetThemeBackgroundRegion() or E_NOTIMPL. | HRESULT mcGetThemeBitmap | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| ULONG | uFlags, | ||
| HBITMAP * | phBitmap | ||
| ) |
Calls GetThemeBitmap() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| uFlags | |
| phBitmap |
GetThemeBitmap() or E_NOTIMPL. | HRESULT mcGetThemeBool | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| BOOL * | pfValue | ||
| ) |
Calls GetThemeBool() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| pfValue |
GetThemeBool() or E_NOTIMPL. | HRESULT mcGetThemeColor | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| COLORREF * | pColor | ||
| ) |
Calls GetThemeColor() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| pColor |
GetThemeColor() or E_NOTIMPL. | HRESULT mcGetThemeDocumentationProperty | ( | const WCHAR * | pszThemeName, |
| const WCHAR * | pszPropName, | ||
| WCHAR * | pszValueBuf, | ||
| int | cchMaxValChars | ||
| ) |
Calls GetThemeDocumentationProperty() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| pszThemeName | |
| pszPropName | |
| pszValueBuf | |
| cchMaxValChars |
GetThemeDocumentationProperty() or E_NOTIMPL. | HRESULT mcGetThemeEnumValue | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| int * | piValue | ||
| ) |
Calls GetThemeEnumValue() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| piValue |
GetThemeEnumValue() or E_NOTIMPL. | HRESULT mcGetThemeFilename | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| WCHAR * | pszThemeFilename, | ||
| int | cchMaxBuffChars | ||
| ) |
Calls GetThemeFilename() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| pszThemeFilename | |
| cchMaxBuffChars |
GetThemeFilename() or E_NOTIMPL. | HRESULT mcGetThemeFont | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| LOGFONTW * | pLogFont | ||
| ) |
Calls GetThemeFont() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| iPropId | |
| pLogFont |
GetThemeFont() or E_NOTIMPL. | HRESULT mcGetThemeInt | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| int * | piValue | ||
| ) |
Calls GetThemeInt() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| piValue |
GetThemeInt() or E_NOTIMPL. | HRESULT mcGetThemeIntList | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| INTLIST * | pIntList | ||
| ) |
Calls GetThemeIntList() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| pIntList |
GetThemeIntList() or E_NOTIMPL. | HRESULT mcGetThemeMargins | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| RECT * | prc, | ||
| MARGINS * | pMargins | ||
| ) |
Calls GetThemeMargins() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| iPropId | |
| prc | |
| pMargins |
GetThemeMargins() or E_NOTIMPL. | HRESULT mcGetThemeMetric | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| int * | piValue | ||
| ) |
Calls GetThemeMetric() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| iPropId | |
| piValue |
GetThemeMetric() or E_NOTIMPL. | HRESULT mcGetThemePartSize | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const RECT * | prc, | ||
| enum THEMESIZE | eSize, | ||
| SIZE * | psz | ||
| ) |
Calls GetThemePartSize() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| prc | |
| eSize | |
| psz |
GetThemePartSize() or E_NOTIMPL. | HRESULT mcGetThemePosition | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| POINT * | pPoint | ||
| ) |
Calls GetThemePosition() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| pPoint |
GetThemePosition() or E_NOTIMPL. | HRESULT mcGetThemePropertyOrigin | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| enum PROPERTYORIGIN * | pOrigin | ||
| ) |
Calls GetThemePropertyOrigin() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| pOrigin |
GetThemePropertyOrigin() or E_NOTIMPL. | HRESULT mcGetThemeRect | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| RECT * | prc | ||
| ) |
Calls GetThemeRect() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| prc |
GetThemeRect() or E_NOTIMPL. | HRESULT mcGetThemeStream | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| void ** | ppvStream, | ||
| DWORD * | pcbStream, | ||
| HINSTANCE | hInst | ||
| ) |
Calls GetThemeStream() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| ppvStream | |
| pcbStream | |
| hInst |
GetThemeStream() or E_NOTIMPL. | HRESULT mcGetThemeString | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId, | ||
| int | iPropId, | ||
| WCHAR * | pszBuff, | ||
| int | cchMaxBuffChars | ||
| ) |
Calls GetThemeString() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateId | |
| iPropId | |
| pszBuff | |
| cchMaxBuffChars |
GetThemeString() or E_NOTIMPL. | BOOL mcGetThemeSysBool | ( | HTHEME | hTheme, |
| int | iBoolId | ||
| ) |
Calls GetThemeSysBool() if available (and UXTHEME.DLL is in use).
If it is not, mCtrl falls back to heuristics based on information from SystemParametersInfo().
| hTheme | |
| iBoolId |
GetThemeSysBool(), or from the fallback implementation. | COLORREF mcGetThemeSysColor | ( | HTHEME | hTheme, |
| int | iColorId | ||
| ) |
Calls GetThemeSysColor() if available (and UXTHEME.DLL is in use). If it is not, mCtrl falls back to GetSysColor().
| hTheme | |
| iColorId |
GetThemeSysColor(), or from GetSysColor(). | HBRUSH mcGetThemeSysColorBrush | ( | HTHEME | hTheme, |
| int | iColorId | ||
| ) |
Calls GetThemeSysColorBrush() if available (and UXTHEME.DLL is in use). If it is not, mCtrl falls back to implementation based on GetSysColor().
| hTheme | |
| iColorId |
GetThemeSysColor(), or from the fallback implementation. | HRESULT mcGetThemeSysFont | ( | HTHEME | hTheme, |
| int | iFontId, | ||
| LOGFONTW * | pLogFont | ||
| ) |
Calls GetThemeSysFont() if available (and UXTHEME.DLL is in use). If it is not, mCtrl falls back to implementation based on SystemParameterInfo().
| hTheme | |
| iFontId | |
| pLogFont |
GetThemeSysFont(), or a HRESULT based on success of the fallback implementation. | HRESULT mcGetThemeSysInt | ( | HTHEME | hTheme, |
| int | iIntId, | ||
| int * | piValue | ||
| ) |
Calls GetThemeSysInt() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iIntId | |
| piValue |
GetThemeSysInt(), or E_NOTIMPL. | int mcGetThemeSysSize | ( | HTHEME | hTheme, |
| int | iSizeId | ||
| ) |
Calls GetThemeSysSize() if available (and UXTHEME.DLL is in use), or falls back to implementation based on GetSystemMetrics().
| hTheme | |
| iSizeId |
GetThemeSysSize(), or from the fallback implementation. | HRESULT mcGetThemeSysString | ( | HTHEME | hTheme, |
| int | iStringId, | ||
| WCHAR * | pszBuff, | ||
| int | cchMaxBuffChars | ||
| ) |
Calls GetThemeSysString() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iStringId | |
| pszBuff | |
| cchMaxBuffChars |
GetThemeSysSize(), or E_NOTIMPL. | HRESULT mcGetThemeTextExtent | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| const WCHAR * | pszText, | ||
| int | cchTextMax, | ||
| DWORD | dwFlags, | ||
| const RECT * | prcBounding, | ||
| RECT * | prcExtent | ||
| ) |
Calls GetThemeTextExtent() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| pszText | |
| cchTextMax | |
| dwFlags | |
| prcBounding | |
| prcExtent |
GetThemeTextExtent(), or E_NOTIMPL. | HRESULT mcGetThemeTextMetrics | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| TEXTMETRIC * | pTextMetric | ||
| ) |
Calls GetThemeTextMetrics() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| pTextMetric |
GetThemeTextMetrics(), or E_NOTIMPL. | HRESULT mcGetThemeTransitionDuration | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateIdFrom, | ||
| int | iStateIdTo, | ||
| int | iPropId, | ||
| DWORD * | pdwDuration | ||
| ) |
Calls GetThemeTransitionDuration() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| iPartId | |
| iStateIdFrom | |
| iStateIdTo | |
| iPropId | |
| pdwDuration |
GetThemeTextMetrics(), or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | HTHEME mcGetWindowTheme | ( | HWND | hwnd | ) |
Calls GetWindowTheme() if available (and UXTHEME.DLL is in use), or returns NULL.
| hwnd |
GetWindowTheme(), or NULL. | HRESULT mcHitTestThemeBackground | ( | HTHEME | hTheme, |
| HDC | hdc, | ||
| int | iPartId, | ||
| int | iStateId, | ||
| DWORD | dwOptions, | ||
| const RECT * | prc, | ||
| HRGN | hrgn, | ||
| POINT | ptTest, | ||
| WORD * | pwHitTestCode | ||
| ) |
Calls HitTestThemeBackground() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hTheme | |
| hdc | |
| iPartId | |
| iStateId | |
| dwOptions | |
| prc | |
| hrgn | |
| ptTest | |
| pwHitTestCode |
HitTestThemeBackground(), or E_NOTIMPL. | BOOL mcIsAppThemed | ( | void | ) |
Calls IsAppThemed() if available (and UXTHEME.DLL is in use), or returns FALSE.
IsAppThemed(), or FALSE. | BOOL mcIsCompositionActive | ( | void | ) |
Calls IsCompositionActive() if available (and UXTHEME.DLL is in use), or returns FALSE.
IsCompositionActive(), or FALSE._WIN32_WINNT to be 0x0600 or newer. | BOOL mcIsThemeActive | ( | void | ) |
Calls IsThemeActive() if available (and UXTHEME.DLL is in use), or returns FALSE.
IsThemeActive(), or FALSE. | BOOL mcIsThemeBackgroundPartiallyTransparent | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId | ||
| ) |
Calls IsThemeBackgroundPartiallyTransparent() if available (and UXTHEME.DLL is in use), or returns FALSE.
| hTheme | |
| iPartId | |
| iStateId |
IsThemeBackgroundPartiallyTransparent(), or FALSE. | BOOL mcIsThemeDialogTextureEnabled | ( | HWND | hwnd | ) |
Calls IsThemeDialogTextureEnabled() if available (and UXTHEME.DLL is in use), or returns FALSE.
| hwnd |
IsThemeDialogTextureEnabled(), or FALSE. | BOOL mcIsThemePartDefined | ( | HTHEME | hTheme, |
| int | iPartId, | ||
| int | iStateId | ||
| ) |
Calls IsThemePartDefined() if available (and UXTHEME.DLL is in use), or returns FALSE.
| hTheme | |
| iPartId | |
| iStateId |
IsThemePartDefined(), or FALSE. | HTHEME mcOpenThemeData | ( | HWND | hwnd, |
| const WCHAR * | pszClassList | ||
| ) |
Calls OpenThemeData() if available (and UXTHEME.DLL is in use), or returns MULL.
| hwnd | |
| pszClassList |
OpenThemeData(), or FALSE. | HTHEME mcOpenThemeDataEx | ( | HWND | hwnd, |
| const WCHAR * | pszClassList, | ||
| DWORD | dwFlags | ||
| ) |
Calls OpenThemeDataEx() if available (and UXTHEME.DLL is in use), or returns MULL.
| hwnd | |
| pszClassList | |
| dwFlags |
OpenThemeDataEx(), or FALSE. | void mcSetThemeAppProperties | ( | DWORD | dwFlags | ) |
Calls SetThemeAppProperties() if available (and UXTHEME.DLL is in use).
| dwFlags |
| HRESULT mcSetWindowTheme | ( | HWND | hwnd, |
| const WCHAR * | pszSubAppName, | ||
| const WCHAR * | pszSubIdList | ||
| ) |
Calls SetWindowTheme() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hwnd | |
| pszSubAppName | |
| pszSubIdList |
SetWindowTheme(), or E_NOTIMPL. | HRESULT mcSetWindowThemeAttribute | ( | HWND | hwnd, |
| enum WINDOWTHEMEATTRIBUTETYPE | eAttribute, | ||
| void * | pvAttribute, | ||
| DWORD | cbAttribute | ||
| ) |
Calls SetWindowThemeAttribute() if available (and UXTHEME.DLL is in use), or returns E_NOTIMPL.
| hwnd | |
| eAttribute | |
| pvAttribute | |
| cbAttribute |
SetWindowThemeAttribute(), or E_NOTIMPL._WIN32_WINNT to be 0x0600 or newer. | BOOL mcUpdatePanningFeedback | ( | HWND | hwnd, |
| LONG | lTotalOverpanOffsetX, | ||
| LONG | lTotalOverpanOffsetY, | ||
| BOOL | fInInertia | ||
| ) |
Calls UpdatePanningFeedback() if available (and UXTHEME.DLL is in use), or returns FALSE.
| hwnd | |
| lTotalOverpanOffsetX | |
| lTotalOverpanOffsetY | |
| fInInertia |
UpdatePanningFeedback(), or FALSE.
1.8.11