2017-11-27 13:11:20 -05:00
|
|
|
|
using System;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Runtime.InteropServices;
|
2017-12-24 12:25:05 -05:00
|
|
|
|
using System.Text;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
using Vanara.Extensions;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
using static Vanara.PInvoke.Gdi32;
|
2017-12-24 12:25:05 -05:00
|
|
|
|
using static Vanara.PInvoke.User32_Gdi;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
// ReSharper disable FieldCanBeMadeReadOnly.Global ReSharper disable InconsistentNaming ReSharper disable FieldCanBeMadeReadOnly.Local
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
namespace Vanara.PInvoke
|
|
|
|
|
{
|
|
|
|
|
public static partial class UxTheme
|
|
|
|
|
{
|
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.Winapi, CharSet = CharSet.Unicode)]
|
|
|
|
|
public delegate int DrawThemeTextCallback(SafeDCHandle hdc, string text, int textLen, ref RECT rc, int flags, IntPtr lParam);
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[Flags]
|
|
|
|
|
public enum DrawThemeBackgroundFlags
|
|
|
|
|
{
|
|
|
|
|
None = 0,
|
|
|
|
|
|
|
|
|
|
/// <summary>The ClipRectangle value is defined.</summary>
|
|
|
|
|
DTBG_CLIPRECT = 1,
|
|
|
|
|
|
|
|
|
|
/// <summary>Deprecated. Draw transparent and alpha images as solid.</summary>
|
|
|
|
|
DTBG_DRAWSOLID = 2,
|
|
|
|
|
|
|
|
|
|
/// <summary>Do not draw the border of the part (currently this value is only supported for bgtype=borderfill).</summary>
|
|
|
|
|
DTBG_OMITBORDER = 4,
|
|
|
|
|
|
|
|
|
|
/// <summary>Do not draw the content area of the part (currently this value is only supported for bgtype=borderfill).</summary>
|
|
|
|
|
DTBG_OMITCONTENT = 8,
|
|
|
|
|
|
|
|
|
|
/// <summary>Deprecated.</summary>
|
|
|
|
|
DTBG_COMPUTINGREGION = 16,
|
|
|
|
|
|
|
|
|
|
/// <summary>Assume the hdc is mirrored and flip images as appropriate (currently this value is only supported for bgtype=imagefile).</summary>
|
|
|
|
|
DTBG_MIRRORDC = 32,
|
|
|
|
|
|
|
|
|
|
/// <summary>Do not mirror the output; even in right-to-left (RTL) layout.</summary>
|
|
|
|
|
DTBG_NOMIRROR = 64
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[Flags]
|
|
|
|
|
public enum DrawThemeParentBackgroundFlags
|
|
|
|
|
{
|
|
|
|
|
None = 0,
|
|
|
|
|
|
|
|
|
|
/// <summary>If set, hdc is assumed to be a window DC, not a client DC.</summary>
|
|
|
|
|
DTPB_WINDOWDC = 1,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// If set, this function sends a WM_CTLCOLORSTATIC message to the parent and uses the brush if one is provided. Otherwise, it uses COLOR_BTNFACE.
|
|
|
|
|
/// </summary>
|
|
|
|
|
DTPB_USECTLCOLORSTATIC = 2,
|
|
|
|
|
|
|
|
|
|
/// <summary>If set, this function returns S_OK without sending a WM_CTLCOLORSTATIC message if the parent actually painted on WM_ERASEBKGND.</summary>
|
|
|
|
|
DTPB_USEERASEBKGND = 4
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Flags]
|
|
|
|
|
public enum DrawThemeTextOptionsMasks
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
DTT_TEXTCOLOR = 1,
|
|
|
|
|
DTT_BORDERCOLOR = 2,
|
|
|
|
|
DTT_SHADOWCOLOR = 4,
|
|
|
|
|
DTT_SHADOWTYPE = 8,
|
|
|
|
|
DTT_SHADOWOFFSET = 16,
|
|
|
|
|
DTT_BORDERSIZE = 32,
|
|
|
|
|
DTT_FONTPROP = 64,
|
|
|
|
|
DTT_COLORPROP = 128,
|
|
|
|
|
DTT_STATEID = 256,
|
|
|
|
|
DTT_CALCRECT = 512,
|
|
|
|
|
DTT_APPLYOVERLAY = 1024,
|
|
|
|
|
DTT_GLOWSIZE = 2048,
|
|
|
|
|
DTT_CALLBACK = 4096,
|
|
|
|
|
DTT_COMPOSITED = 8192
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum DrawThemeTextSystemFonts
|
|
|
|
|
{
|
|
|
|
|
Caption = 801,
|
|
|
|
|
SmallCaption = 802,
|
|
|
|
|
Menu = 803,
|
|
|
|
|
Status = 804,
|
|
|
|
|
MessageBox = 805,
|
|
|
|
|
IconTitle = 806
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[Flags]
|
|
|
|
|
public enum HitTestOptions : uint
|
|
|
|
|
{
|
|
|
|
|
HTTB_BACKGROUNDSEG = 0x00000000,
|
|
|
|
|
HTTB_FIXEDBORDER = 0x00000002,
|
|
|
|
|
HTTB_CAPTION = 0x00000004,
|
|
|
|
|
HTTB_RESIZINGBORDER_LEFT = 0x00000010,
|
|
|
|
|
HTTB_RESIZINGBORDER_TOP = 0x00000020,
|
|
|
|
|
HTTB_RESIZINGBORDER_RIGHT = 0x00000040,
|
|
|
|
|
HTTB_RESIZINGBORDER_BOTTOM = 0x00000080,
|
|
|
|
|
HTTB_RESIZINGBORDER = (HTTB_RESIZINGBORDER_LEFT | HTTB_RESIZINGBORDER_TOP | HTTB_RESIZINGBORDER_RIGHT | HTTB_RESIZINGBORDER_BOTTOM),
|
|
|
|
|
HTTB_SIZINGTEMPLATE = 0x00000100,
|
|
|
|
|
HTTB_SYSTEMSIZINGMARGINS = 0x00000200,
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-27 13:11:20 -05:00
|
|
|
|
public enum IntegerListProperty
|
|
|
|
|
{
|
|
|
|
|
TransitionDuration = 6000
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum OpenThemeDataOptions
|
|
|
|
|
{
|
|
|
|
|
None = 0,
|
|
|
|
|
|
|
|
|
|
/// <summary>Forces drawn images from this theme to stretch to fit the rectangles specified by drawing functions.</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
OTD_FORCE_RECT_SIZING = 1,
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Allows theme elements to be drawn in the non-client area of the window.</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
OTD_NONCLIENT = 2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum PROPERTYORIGIN
|
|
|
|
|
{
|
|
|
|
|
/// <summary>Property was found in the state section.</summary>
|
|
|
|
|
PO_STATE = 0,
|
|
|
|
|
|
|
|
|
|
/// <summary>Property was found in the part section.</summary>
|
|
|
|
|
PO_PART = 1,
|
|
|
|
|
|
|
|
|
|
/// <summary>Property was found in the class section.</summary>
|
|
|
|
|
PO_CLASS = 2,
|
|
|
|
|
|
|
|
|
|
/// <summary>Property was found in the list of global variables.</summary>
|
|
|
|
|
PO_GLOBAL = 3,
|
|
|
|
|
|
|
|
|
|
/// <summary>Property was not found.</summary>
|
|
|
|
|
PO_NOTFOUND = 4
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public enum TA_PROPERTY
|
|
|
|
|
{
|
|
|
|
|
TAP_FLAGS,
|
|
|
|
|
TAP_TRANSFORMCOUNT,
|
|
|
|
|
TAP_STAGGERDELAY,
|
|
|
|
|
TAP_STAGGERDELAYCAP,
|
|
|
|
|
TAP_STAGGERDELAYFACTOR,
|
|
|
|
|
TAP_ZORDER,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Flags]
|
|
|
|
|
public enum TA_PROPERTY_FLAG
|
|
|
|
|
{
|
|
|
|
|
TAPF_NONE = 0x0,
|
|
|
|
|
TAPF_HASSTAGGER = 0x1,
|
|
|
|
|
TAPF_ISRTLAWARE = 0x2,
|
|
|
|
|
TAPF_ALLOWCOLLECTION = 0x4,
|
|
|
|
|
TAPF_HASBACKGROUND = 0x8,
|
|
|
|
|
TAPF_HASPERSPECTIVE = 0x10,
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public enum TA_TIMINGFUNCTION_TYPE
|
|
|
|
|
{
|
|
|
|
|
TTFT_UNDEFINED,
|
|
|
|
|
TTFT_CUBIC_BEZIER,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[Flags]
|
|
|
|
|
public enum TA_TRANSFORM_FLAG
|
|
|
|
|
{
|
|
|
|
|
TATF_NONE = 0x0,
|
|
|
|
|
TATF_TARGETVALUES_USER = 0x1,
|
|
|
|
|
TATF_HASINITIALVALUES = 0x2,
|
|
|
|
|
TATF_HASORIGINVALUES = 0x4,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
public enum TA_TRANSFORM_TYPE
|
|
|
|
|
{
|
|
|
|
|
TATT_TRANSLATE_2D,
|
|
|
|
|
TATT_SCALE_2D,
|
|
|
|
|
TATT_OPACITY,
|
|
|
|
|
TATT_CLIP,
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-27 13:11:20 -05:00
|
|
|
|
public enum TextShadowType
|
|
|
|
|
{
|
|
|
|
|
/// <summary>No shadow will be drawn.</summary>
|
|
|
|
|
/// <remarks>TST_NONE</remarks>
|
|
|
|
|
None = 0,
|
|
|
|
|
|
|
|
|
|
/// <summary>The shadow will be drawn to appear detailed underneath text.</summary>
|
|
|
|
|
/// <remarks>TST_SINGLE</remarks>
|
|
|
|
|
Single = 1,
|
|
|
|
|
|
|
|
|
|
/// <summary>The shadow will be drawn to appear blurred underneath text.</summary>
|
|
|
|
|
/// <remarks>TST_CONTINUOUS</remarks>
|
|
|
|
|
Continuous = 2
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[Flags]
|
|
|
|
|
public enum ThemeAppProperties : uint
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Specifies that the non-client areas of application windows have visual styles applied.</summary>
|
|
|
|
|
STAP_ALLOW_NONCLIENT = (1U << 0),
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Specifies that controls in application windows have visual styles applied.</summary>
|
|
|
|
|
STAP_ALLOW_CONTROLS = (1U << 1),
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Specifies that all web content displayed in an application is rendered using visual styles.</summary>
|
|
|
|
|
STAP_ALLOW_WEBCONTENT = (1U << 2),
|
|
|
|
|
}
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public enum ThemeDialogTextureFlags
|
|
|
|
|
{
|
|
|
|
|
/// <summary>Disables background texturing.</summary>
|
|
|
|
|
ETDT_DISABLE = 0x00000001,
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Enables dialog window background texturing. The texturing is defined by a visual style.</summary>
|
|
|
|
|
ETDT_ENABLE = 0x00000002,
|
|
|
|
|
|
|
|
|
|
/// <summary>Uses the Tab control texture for the background texture of a dialog window.</summary>
|
|
|
|
|
ETDT_USETABTEXTURE = 0x00000004,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Enables dialog window background texturing. The texture is the Tab control texture defined by the visual style. This flag is equivalent to
|
|
|
|
|
/// (ETDT_ENABLE | ETDT_USETABTEXTURE).
|
|
|
|
|
/// </summary>
|
|
|
|
|
ETDT_ENABLETAB = (ETDT_ENABLE | ETDT_USETABTEXTURE),
|
|
|
|
|
|
|
|
|
|
/// <summary>Uses the Aero wizard texture for the background texture of a dialog window.</summary>
|
|
|
|
|
ETDT_USEAEROWIZARDTABTEXTURE = 0x00000008,
|
|
|
|
|
|
|
|
|
|
/// <summary>ETDT_ENABLE | ETDT_USEAEROWIZARDTABTEXTURE.</summary>
|
|
|
|
|
ETDT_ENABLEAEROWIZARDTAB = (ETDT_ENABLE | ETDT_USEAEROWIZARDTABTEXTURE),
|
|
|
|
|
|
|
|
|
|
/// <summary>ETDT_DISABLE | ETDT_ENABLE | ETDT_USETABTEXTURE | ETDT_USEAEROWIZARDTABTEXTURE.</summary>
|
|
|
|
|
ETDT_VALIDBITS = (ETDT_DISABLE | ETDT_ENABLE | ETDT_USETABTEXTURE | ETDT_USEAEROWIZARDTABTEXTURE),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum ThemeProperty
|
|
|
|
|
{
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_DIBDATA = 2,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHDIBDATA = 8,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ENUM = 200,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_STRING = 201,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_INT = 202,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BOOL = 203,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_COLOR = 204,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MARGINS = 205,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FILENAME = 206,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SIZE = 207,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_POSITION = 208,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_RECT = 209,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FONT = 210,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_INTLIST = 211,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HBITMAP = 212,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_DISKSTREAM = 213,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_STREAM = 214,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BITMAPREF = 215,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FLOAT = 216,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FLOATLIST = 217,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_COLORSCHEMES = 401,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SIZES = 402,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CHARSET = 403,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_NAME = 600,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_DISPLAYNAME = 601,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOOLTIP = 602,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_COMPANY = 603,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_AUTHOR = 604,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_COPYRIGHT = 605,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_URL = 606,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_VERSION = 607,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_DESCRIPTION = 608,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FIRST_RCSTRING_NAME = TMT_DISPLAYNAME,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LAST_RCSTRING_NAME = TMT_DESCRIPTION,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CAPTIONFONT = 801,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SMALLCAPTIONFONT = 802,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MENUFONT = 803,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_STATUSFONT = 804,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MSGBOXFONT = 805,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ICONTITLEFONT = 806,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HEADING1FONT = 807,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HEADING2FONT = 808,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BODYFONT = 809,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FIRSTFONT = TMT_CAPTIONFONT,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LASTFONT = TMT_BODYFONT,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FLATMENUS = 1001,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FIRSTBOOL = TMT_FLATMENUS,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LASTBOOL = TMT_FLATMENUS,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SIZINGBORDERWIDTH = 1201,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SCROLLBARWIDTH = 1202,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SCROLLBARHEIGHT = 1203,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CAPTIONBARWIDTH = 1204,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CAPTIONBARHEIGHT = 1205,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SMCAPTIONBARWIDTH = 1206,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SMCAPTIONBARHEIGHT = 1207,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MENUBARWIDTH = 1208,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MENUBARHEIGHT = 1209,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_PADDEDBORDERWIDTH = 1210,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FIRSTSIZE = TMT_SIZINGBORDERWIDTH,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LASTSIZE = TMT_PADDEDBORDERWIDTH,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINCOLORDEPTH = 1301,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FIRSTINT = TMT_MINCOLORDEPTH,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LASTINT = TMT_MINCOLORDEPTH,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CSSNAME = 1401,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_XMLNAME = 1402,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LASTUPDATED = 1403,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ALIAS = 1404,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FIRSTSTRING = TMT_CSSNAME,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LASTSTRING = TMT_ALIAS,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SCROLLBAR = 1601,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BACKGROUND = 1602,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ACTIVECAPTION = 1603,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_INACTIVECAPTION = 1604,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MENU = 1605,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_WINDOW = 1606,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_WINDOWFRAME = 1607,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MENUTEXT = 1608,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_WINDOWTEXT = 1609,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CAPTIONTEXT = 1610,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ACTIVEBORDER = 1611,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_INACTIVEBORDER = 1612,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_APPWORKSPACE = 1613,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HIGHLIGHT = 1614,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HIGHLIGHTTEXT = 1615,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BTNFACE = 1616,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BTNSHADOW = 1617,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRAYTEXT = 1618,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BTNTEXT = 1619,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_INACTIVECAPTIONTEXT = 1620,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BTNHIGHLIGHT = 1621,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_DKSHADOW3D = 1622,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LIGHT3D = 1623,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_INFOTEXT = 1624,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_INFOBK = 1625,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BUTTONALTERNATEFACE = 1626,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HOTTRACKING = 1627,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTACTIVECAPTION = 1628,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTINACTIVECAPTION = 1629,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MENUHILIGHT = 1630,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MENUBAR = 1631,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FIRSTCOLOR = TMT_SCROLLBAR,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LASTCOLOR = TMT_MENUBAR,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMHUE1 = 1801,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMHUE2 = 1802,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMHUE3 = 1803,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMHUE4 = 1804,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMHUE5 = 1805,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOHUE1 = 1806,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOHUE2 = 1807,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOHUE3 = 1808,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOHUE4 = 1809,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOHUE5 = 1810,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMCOLOR1 = 2001,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMCOLOR2 = 2002,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMCOLOR3 = 2003,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMCOLOR4 = 2004,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FROMCOLOR5 = 2005,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOCOLOR1 = 2006,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOCOLOR2 = 2007,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOCOLOR3 = 2008,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOCOLOR4 = 2009,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TOCOLOR5 = 2010,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TRANSPARENT = 2201,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_AUTOSIZE = 2202,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BORDERONLY = 2203,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_COMPOSITED = 2204,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BGFILL = 2205,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHTRANSPARENT = 2206,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHONLY = 2207,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ALWAYSSHOWSIZINGBAR = 2208,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MIRRORIMAGE = 2209,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_UNIFORMSIZING = 2210,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_INTEGRALSIZING = 2211,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SOURCEGROW = 2212,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SOURCESHRINK = 2213,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_DRAWBORDERS = 2214,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_NOETCHEDEFFECT = 2215,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTAPPLYOVERLAY = 2216,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTGLOW = 2217,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTITALIC = 2218,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_COMPOSITEDOPAQUE = 2219,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_LOCALIZEDMIRRORIMAGE = 2220,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGECOUNT = 2401,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ALPHALEVEL = 2402,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BORDERSIZE = 2403,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ROUNDCORNERWIDTH = 2404,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ROUNDCORNERHEIGHT = 2405,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTRATIO1 = 2406,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTRATIO2 = 2407,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTRATIO3 = 2408,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTRATIO4 = 2409,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTRATIO5 = 2410,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_PROGRESSCHUNKSIZE = 2411,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_PROGRESSSPACESIZE = 2412,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SATURATION = 2413,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTBORDERSIZE = 2414,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ALPHATHRESHOLD = 2415,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_WIDTH = 2416,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HEIGHT = 2417,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHINDEX = 2418,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TRUESIZESTRETCHMARK = 2419,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINDPI1 = 2420,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINDPI2 = 2421,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINDPI3 = 2422,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINDPI4 = 2423,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINDPI5 = 2424,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTGLOWSIZE = 2425,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FRAMESPERSECOND = 2426,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_PIXELSPERFRAME = 2427,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ANIMATIONDELAY = 2428,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLOWINTENSITY = 2429,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_OPACITY = 2430,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_COLORIZATIONCOLOR = 2431,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_COLORIZATIONOPACITY = 2432,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINDPI6 = 2433,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINDPI7 = 2434,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHFONT = 2601,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGEFILE = 3001,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGEFILE1 = 3002,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGEFILE2 = 3003,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGEFILE3 = 3004,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGEFILE4 = 3005,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGEFILE5 = 3006,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHIMAGEFILE = 3008,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGEFILE6 = 3009,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGEFILE7 = 3010,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXT = 3201,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CLASSICVALUE = 3202,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_OFFSET = 3401,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTSHADOWOFFSET = 3402,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINSIZE = 3403,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINSIZE1 = 3404,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINSIZE2 = 3405,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINSIZE3 = 3406,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINSIZE4 = 3407,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINSIZE5 = 3408,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_NORMALSIZE = 3409,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINSIZE6 = 3410,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_MINSIZE7 = 3411,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SIZINGMARGINS = 3601,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CONTENTMARGINS = 3602,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CAPTIONMARGINS = 3603,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BORDERCOLOR = 3801,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FILLCOLOR = 3802,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTCOLOR = 3803,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_EDGELIGHTCOLOR = 3804,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_EDGEHIGHLIGHTCOLOR = 3805,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_EDGESHADOWCOLOR = 3806,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_EDGEDKSHADOWCOLOR = 3807,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_EDGEFILLCOLOR = 3808,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TRANSPARENTCOLOR = 3809,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTCOLOR1 = 3810,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTCOLOR2 = 3811,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTCOLOR3 = 3812,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTCOLOR4 = 3813,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GRADIENTCOLOR5 = 3814,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SHADOWCOLOR = 3815,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLOWCOLOR = 3816,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTBORDERCOLOR = 3817,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTSHADOWCOLOR = 3818,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHTEXTCOLOR = 3819,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHTRANSPARENTCOLOR = 3820,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FILLCOLORHINT = 3821,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BORDERCOLORHINT = 3822,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ACCENTCOLORHINT = 3823,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTCOLORHINT = 3824,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HEADING1TEXTCOLOR = 3825,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HEADING2TEXTCOLOR = 3826,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BODYTEXTCOLOR = 3827,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BGTYPE = 4001,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BORDERTYPE = 4002,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_FILLTYPE = 4003,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SIZINGTYPE = 4004,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_HALIGN = 4005,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CONTENTALIGNMENT = 4006,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_VALIGN = 4007,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_OFFSETTYPE = 4008,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ICONEFFECT = 4009,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TEXTSHADOWTYPE = 4010,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGELAYOUT = 4011,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHTYPE = 4012,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_IMAGESELECTTYPE = 4013,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_GLYPHFONTSIZINGTYPE = 4014,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TRUESIZESCALINGTYPE = 4015,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_USERPICTURE = 5001,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_DEFAULTPANESIZE = 5002,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_BLENDCOLOR = 5003,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_CUSTOMSPLITRECT = 5004,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ANIMATIONBUTTONRECT = 5005,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ANIMATIONDURATION = 5006,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_TRANSITIONDURATIONS = 6000,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_SCALEDBACKGROUND = 7001,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ATLASIMAGE = 8000,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ATLASINPUTIMAGE = 8001,
|
|
|
|
|
|
|
|
|
|
/// <summary></summary>
|
|
|
|
|
TMT_ATLASRECT = 8002,
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public enum THEMESIZE
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
/// <summary>Receives the minimum size of a visual style part.</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
TS_MIN,
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Receives the size of the visual style part that will best fit the available space.</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
TS_TRUE,
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Receives the size that the theme manager uses to draw a part.</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
TS_DRAW
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum WindowThemeAttributeType
|
|
|
|
|
{
|
|
|
|
|
NonClient = 1,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Flags]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public enum WTNCA
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
/// <summary>Do Not Draw The Caption (Text)</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
WTNCA_NODRAWCAPTION = 0x00000001,
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Do Not Draw the Icon</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
WTNCA_NODRAWICON = 0x00000002,
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Do Not Show the System Menu</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
WTNCA_NOSYSMENU = 0x00000004,
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Do Not Mirror the Question mark Symbol</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
WTNCA_NOMIRRORHELP = 0x00000008
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT CloseThemeData(IntPtr hTheme);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT DrawThemeBackground(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, ref RECT pRect, PRECT pClipRect);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT DrawThemeBackgroundEx(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, ref RECT pRect, DTBGOPTS opts);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT DrawThemeEdge(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, ref RECT pDestRect, BorderStyles3D uEdge, BorderFlags uFlags, out RECT pContentRect);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT DrawThemeIcon(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, ref RECT pRect, IntPtr himl, int iImageIndex);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT DrawThemeParentBackground(HandleRef hwnd, SafeDCHandle hdc, PRECT pRect);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
|
|
|
|
public static extern HRESULT DrawThemeParentBackgroundEx(HandleRef hwnd, SafeDCHandle hdc, DrawThemeParentBackgroundFlags dwFlags, PRECT pRect);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT DrawThemeText(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, string text, int textLength, DrawTextFlags textFlags, int textFlags2, ref RECT pRect);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT DrawThemeTextEx(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, string text, int iCharCount, DrawTextFlags dwFlags, ref RECT pRect, ref DTTOPTS pOptions);
|
2017-12-24 12:25:05 -05:00
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
|
|
|
|
public static extern HRESULT EnableThemeDialogTexture(HandleRef hwnd, ThemeDialogTextureFlags dwFlags);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
|
|
|
|
public static extern HRESULT EnableTheming([MarshalAs(UnmanagedType.Bool)] bool fEnable);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
|
|
|
|
public static extern HRESULT GetCurrentThemeName([MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszThemeFileName, int dwMaxNameChars, [MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszColorBuff, int cchMaxColorChars, [MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszSizeBuff, int cchMaxSizeChars);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemeAnimationProperty(SafeThemeHandle hTheme, int iStoryboardId, int iTargetId, TA_PROPERTY eProperty, IntPtr pvProperty, uint cbSize, out uint pcbSizeOut);
|
2017-12-24 12:25:05 -05:00
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemeAnimationTransform(SafeThemeHandle hTheme, int iStoryboardId, int iTargetId, uint dwTransformIndex, ref TA_TRANSFORM pTransform, uint cbSize, out uint pcbSizeOut);
|
2017-12-24 12:25:05 -05:00
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern ThemeAppProperties GetThemeAppProperties();
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT GetThemeBackgroundContentRect(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, ref RECT pBoundingRect, out RECT pContentRect);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT GetThemeBackgroundExtent(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, ref RECT pContentRect, out RECT pExtentRect);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT GetThemeBackgroundRegion(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, ref RECT pRect, out IntPtr pRegion);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern HRESULT GetThemeBitmap(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, int iPropId, int dwFlags, out IntPtr phBitmap);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern HRESULT GetThemeBool(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, [MarshalAs(UnmanagedType.Bool)] out bool pfVal);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemeColor(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, out COLORREF pColor);
|
2017-12-24 12:25:05 -05:00
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
|
|
|
|
public static extern HRESULT GetThemeDocumentationProperty(string pszThemeName, string pszPropertyName, out StringBuilder pszValueBuff, int cchMaxValChars);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern HRESULT GetThemeEnumValue(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, out int piVal);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemeFilename(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, ref StringBuilder pszBuff, int buffLength);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT GetThemeInt(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, out int piVal);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
public static int[] GetThemeIntList(SafeThemeHandle hTheme, int partId, int stateId, int propId)
|
|
|
|
|
{
|
|
|
|
|
if (Environment.OSVersion.Version.Major < 6)
|
|
|
|
|
{
|
|
|
|
|
INTLIST_OLD l;
|
|
|
|
|
if (0 != GetThemeIntListPreVista(hTheme, partId, stateId, propId, out l))
|
|
|
|
|
return null;
|
|
|
|
|
var outlist = new int[l.iValueCount];
|
|
|
|
|
Array.Copy(l.iValues, outlist, l.iValueCount);
|
|
|
|
|
return outlist;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
INTLIST l;
|
|
|
|
|
if (0 != GetThemeIntList(hTheme, partId, stateId, propId, out l))
|
|
|
|
|
return null;
|
|
|
|
|
var outlist = new int[l.iValueCount];
|
|
|
|
|
Array.Copy(l.iValues, outlist, l.iValueCount);
|
|
|
|
|
return outlist;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemeMargins(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, int iPropId, PRECT prc, out MARGINS pMargins);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT GetThemeMetric(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, int iPropId, out int piVal);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemePartSize(SafeThemeHandle hTheme, SafeDCHandle hdc, int part, int state, PRECT pRect, THEMESIZE eSize, out SIZE size);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT GetThemePosition(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, out Point piVal);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemePropertyOrigin(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, out PROPERTYORIGIN pOrigin);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT GetThemeRect(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, out RECT pRect);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern HRESULT GetThemeStream(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1, SizeParamIndex = 5)] out byte[] pvStream, out int cbStream, IntPtr hInst);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-24 12:25:05 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern HRESULT GetThemeString(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, [MarshalAs(UnmanagedType.LPWStr)] StringBuilder themeString, int themeStringLength);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
2017-12-24 12:25:05 -05:00
|
|
|
|
public static extern bool GetThemeSysBool(SafeThemeHandle hTheme, int iBoolID);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern COLORREF GetThemeSysColor(SafeThemeHandle hTheme, SystemColorIndex iColorID);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern IntPtr GetThemeSysColorBrush(SafeThemeHandle hTheme, SystemColorIndex iColorID);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemeSysInt(SafeThemeHandle hTheme, int iIntID, out int piVal);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern int GetThemeSysSize(SafeThemeHandle hTheme, int iSizeID);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern HRESULT GetThemeSysString(SafeThemeHandle hTheme, int iStringID, [MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszStringBuff, int cchMaxStringChars);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
|
|
|
|
public static extern HRESULT GetThemeTextExtent(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, string pszText, int iCharCount, DrawTextFlags dwTextFlags, PRECT pBoundingRect, out RECT pExtentRect);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemeTextMetrics(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, out TEXTMETRIC ptm);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern HRESULT GetThemeTimingFunction(SafeThemeHandle hTheme, int iTimingFunctionId, out TA_TIMINGFUNCTION pTimingFunction, uint cbSize, out uint pcbSizeOut);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT GetThemeTransitionDuration(SafeThemeHandle hTheme, int iPartId, int iStateIdFrom, int iStateIdTo, int iPropId, out uint pdwDuration);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern IntPtr GetWindowTheme(HandleRef hWnd);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern HRESULT HitTestThemeBackground(SafeThemeHandle hTheme, SafeDCHandle hdc, int iPartId, int iStateId, HitTestOptions dwOptions, ref RECT pRect, IntPtr hrgn, Point ptTest, out HitTestValues pwHitTestCode);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
|
|
|
public static extern bool IsAppThemed();
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
|
|
|
public static extern bool IsCompositionActive();
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
|
|
|
public static extern bool IsThemeActive();
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
|
|
|
public static extern bool IsThemeBackgroundPartiallyTransparent(SafeThemeHandle hTheme, int iPartId, int iStateId);
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
|
|
|
public static extern bool IsThemeDialogTextureEnabled(HandleRef hWnd);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
|
|
|
public static extern bool IsThemePartDefined(SafeThemeHandle hTheme, int iPartId, int iStateId);
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern SafeThemeHandle OpenThemeData(HandleRef hWnd, string classList);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern SafeThemeHandle OpenThemeDataEx(HandleRef hWnd, string classList, OpenThemeDataOptions dwFlags);
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
public static extern void SetThemeAppProperties(ThemeAppProperties dwFlags);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, CharSet = CharSet.Unicode)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT SetWindowTheme(HandleRef hWnd, string pszSubAppName, string pszSubIdList);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Sets attributes to control how visual styles are applied to a specified window.</summary>
|
2017-11-27 13:11:20 -05:00
|
|
|
|
/// <param name="hWnd">Handle to a window to apply changes to.</param>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <param name="eAttribute">
|
|
|
|
|
/// Value of type WINDOWTHEMEATTRIBUTETYPE that specifies the type of attribute to set. The value of this parameter determines the type of data that
|
|
|
|
|
/// should be passed in the pvAttribute parameter.
|
|
|
|
|
/// </param>
|
|
|
|
|
/// <param name="pvAttribute">A pointer that specifies attributes to set. Type is determined by the value of the eAttribute value.</param>
|
|
|
|
|
/// <param name="cbAttribute">Specifies the size, in bytes, of the data pointed to by pvAttribute.</param>
|
2017-11-27 13:11:20 -05:00
|
|
|
|
/// <returns>If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
|
|
|
|
[System.Security.SecurityCritical]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static extern HRESULT SetWindowThemeAttribute(HandleRef hWnd, WindowThemeAttributeType eAttribute, ref WTA_OPTIONS pvAttribute, int cbAttribute);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Sets attributes to control how visual styles are applied to a specified window.</summary>
|
2017-11-27 13:11:20 -05:00
|
|
|
|
/// <param name="hWnd">Handle to a window to apply changes to.</param>
|
|
|
|
|
/// <param name="ncAttrs">A combination of flags that modify window visual style attributes.</param>
|
|
|
|
|
/// <param name="activate">if set to <c>true</c> add the flag to the window attributes, otherwise remove the flag.</param>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static void SetWindowThemeNonClientAttributes(HandleRef hWnd, WTNCA ncAttrs, bool activate = true)
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
var opt = new WTA_OPTIONS { Flags = ncAttrs, Mask = activate ? (int)ncAttrs : 0 };
|
2017-12-27 13:01:03 -05:00
|
|
|
|
SetWindowThemeAttribute(hWnd, WindowThemeAttributeType.NonClient, ref opt, Marshal.SizeOf(opt)).ThrowIfFailed();
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
private static extern HRESULT GetThemeIntList(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, out INTLIST pIntList);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[DllImport(Lib.UxTheme, ExactSpelling = true, EntryPoint = "GetThemeIntList")]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
private static extern HRESULT GetThemeIntListPreVista(SafeThemeHandle hTheme, int iPartId, int iStateId, int iPropId, out INTLIST_OLD pIntList);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Defines the options for the <see cref="DrawThemeTextEx"/> function.</summary>
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public struct DTTOPTS
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public uint dwSize;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
public DrawThemeTextOptionsMasks dwMasks;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public COLORREF crText;
|
|
|
|
|
public COLORREF crBorder;
|
|
|
|
|
public COLORREF crShadow;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
public TextShadowType iTextShadowType;
|
|
|
|
|
public Point ptShadowOffset;
|
|
|
|
|
public int iBorderSize;
|
|
|
|
|
public int iFontPropId;
|
|
|
|
|
public int iColorPropId;
|
|
|
|
|
public int iStateId;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[MarshalAs(UnmanagedType.Bool)]
|
|
|
|
|
public bool fApplyOverlay;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
|
2017-11-27 13:11:20 -05:00
|
|
|
|
public int iGlowSize;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
|
2017-11-27 13:11:20 -05:00
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
|
|
|
public DrawThemeTextCallback pfnDrawTextCallback;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
|
2017-11-27 13:11:20 -05:00
|
|
|
|
public IntPtr lParam;
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="DTTOPTS"/> struct.</summary>
|
2017-11-27 13:11:20 -05:00
|
|
|
|
/// <param name="shouldBeNull">This value must be specified to initialize. Use null.</param>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public DTTOPTS(byte? shouldBeNull) : this()
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwSize = (uint)Marshal.SizeOf(typeof(DTTOPTS));
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets a value that specifies an alternate color property to use when drawing text.</summary>
|
|
|
|
|
/// <value>The alternate color of the text.</value>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public int AlternateColorProperty
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => iColorPropId;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
iColorPropId = value;
|
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_COLORPROP;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets an alternate font property to use when drawing text.</summary>
|
|
|
|
|
/// <value>The alternate font.</value>
|
|
|
|
|
public DrawThemeTextSystemFonts AlternateFont
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => (DrawThemeTextSystemFonts)iFontPropId;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
iFontPropId = (int)value;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_FONTPROP;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets a value indicating whether to draw text with antialiased alpha. Use of this flag requires a top-down DIB section. This flag works
|
|
|
|
|
/// only if the HDC passed to function DrawThemeTextEx has a top-down DIB section currently selected in it. For more information, see
|
|
|
|
|
/// Device-Independent Bitmaps.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if antialiased alpha; otherwise, <c>false</c>.</value>
|
|
|
|
|
public bool AntiAliasedAlpha
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => dwMasks.IsFlagSet(DrawThemeTextOptionsMasks.DTT_COMPOSITED);
|
|
|
|
|
set => SetFlag(DrawThemeTextOptionsMasks.DTT_COMPOSITED, value);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets a value indicating whether text will be drawn on top of the shadow and outline effects ( <c>true</c>) or if just the shadow and
|
|
|
|
|
/// outline effects will be drawn ( <c>false</c>).
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if drawn on top; otherwise, <c>false</c>.</value>
|
|
|
|
|
public bool ApplyOverlay
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => fApplyOverlay;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
fApplyOverlay = value;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_APPLYOVERLAY;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the color of the outline that will be drawn around the text.</summary>
|
|
|
|
|
/// <value>The color of the border.</value>
|
|
|
|
|
public Color BorderColor
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => crBorder;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
crBorder = value;
|
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_BORDERCOLOR;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the radius of the outline that will be drawn around the text.</summary>
|
|
|
|
|
/// <value>The size of the border.</value>
|
|
|
|
|
public int BorderSize
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => iBorderSize;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
iBorderSize = value;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_BORDERSIZE;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the callback function.</summary>
|
|
|
|
|
/// <value>The callback function.</value>
|
|
|
|
|
public DrawThemeTextCallback Callback
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => pfnDrawTextCallback;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
pfnDrawTextCallback = value;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_CALLBACK;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the size of a glow that will be drawn on the background prior to any text being drawn.</summary>
|
|
|
|
|
/// <value>The size of the glow.</value>
|
|
|
|
|
public int GlowSize
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => iGlowSize;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
iGlowSize = value;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_GLOWSIZE;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the parameter for callback back function specified by <see cref="Callback"/>.</summary>
|
|
|
|
|
/// <value>The parameter.</value>
|
|
|
|
|
public IntPtr LParam
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => lParam;
|
|
|
|
|
set => lParam = value;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets a value indicating whether the pRect parameter of the <see cref="DrawThemeTextEx"/> function that uses this structure will be used
|
|
|
|
|
/// as both an in and an out parameter. After the function returns, the pRect parameter will contain the rectangle that corresponds to the region
|
|
|
|
|
/// calculated to be drawn.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value><c>true</c> if returning the calculated rectangle; otherwise, <c>false</c>.</value>
|
|
|
|
|
public bool ReturnCalculatedRectangle
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => dwMasks.IsFlagSet(DrawThemeTextOptionsMasks.DTT_CALCRECT);
|
|
|
|
|
set => SetFlag(DrawThemeTextOptionsMasks.DTT_CALCRECT, value);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the color of the shadow drawn behind the text.</summary>
|
|
|
|
|
/// <value>The color of the shadow.</value>
|
|
|
|
|
public Color ShadowColor
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => crShadow;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
crShadow = value;
|
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_SHADOWCOLOR;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the amount of offset, in logical coordinates, between the shadow and the text.</summary>
|
|
|
|
|
/// <value>The shadow offset.</value>
|
|
|
|
|
public Point ShadowOffset
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => new Point(ptShadowOffset.X, ptShadowOffset.Y);
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
|
|
|
|
ptShadowOffset = value;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_SHADOWOFFSET;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the type of the shadow that will be drawn behind the text.</summary>
|
|
|
|
|
/// <value>The type of the shadow.</value>
|
|
|
|
|
public TextShadowType ShadowType
|
|
|
|
|
{
|
|
|
|
|
get => iTextShadowType; set
|
|
|
|
|
{
|
|
|
|
|
iTextShadowType = value;
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_SHADOWTYPE;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the color of the text that will be drawn.</summary>
|
|
|
|
|
/// <value>The color of the text.</value>
|
|
|
|
|
public Color TextColor
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
get => crText;
|
|
|
|
|
set
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
crText = value;
|
|
|
|
|
dwMasks |= DrawThemeTextOptionsMasks.DTT_TEXTCOLOR;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets an instance with default values set.</summary>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static DTTOPTS Default => new DTTOPTS(null);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
private void SetFlag(DrawThemeTextOptionsMasks f, bool value)
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwMasks = dwMasks.SetFlags(f, value);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
public struct MARGINS
|
|
|
|
|
{
|
|
|
|
|
public int cxLeftWidth;
|
|
|
|
|
public int cxRightWidth;
|
|
|
|
|
public int cyTopHeight;
|
|
|
|
|
public int cyBottomHeight;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
public struct TA_TIMINGFUNCTION
|
|
|
|
|
{
|
|
|
|
|
public TA_TIMINGFUNCTION_TYPE eTimingFunctionType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[PInvokeData("UxTheme.h")]
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
public struct TA_TRANSFORM
|
|
|
|
|
{
|
|
|
|
|
public uint dwDurationTime;
|
|
|
|
|
public uint dwStartTime;
|
|
|
|
|
public uint dwTimingFunctionId;
|
|
|
|
|
public TA_TRANSFORM_FLAG eFlags;
|
|
|
|
|
public TA_TRANSFORM_TYPE eTransformType;
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-27 13:11:20 -05:00
|
|
|
|
/// <summary>The Options of What Attributes to Add/Remove</summary>
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
public struct WTA_OPTIONS
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public WTNCA Flags;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
public int Mask;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
private struct INTLIST
|
|
|
|
|
{
|
|
|
|
|
public int iValueCount;
|
|
|
|
|
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 402)]
|
|
|
|
|
public int[] iValues;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
private struct INTLIST_OLD
|
|
|
|
|
{
|
|
|
|
|
public int iValueCount;
|
|
|
|
|
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
|
|
|
|
|
public int[] iValues;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Defines the options for the DrawThemeBackgroundEx function.</summary>
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public class DTBGOPTS
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public uint dwSize;
|
|
|
|
|
public DrawThemeBackgroundFlags dwFlags;
|
2017-11-27 13:11:20 -05:00
|
|
|
|
public RECT rcClip;
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="DTBGOPTS"/> class.</summary>
|
2017-11-27 13:11:20 -05:00
|
|
|
|
/// <param name="clipRect">The rectangle to which drawing is clipped.</param>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public DTBGOPTS(Rectangle? clipRect)
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwSize = (uint)Marshal.SizeOf(this);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
ClipRectangle = clipRect;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets the bounding rectangle of the clip region.</summary>
|
|
|
|
|
/// <value>The clip rectangle.</value>
|
|
|
|
|
public Rectangle? ClipRectangle
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
Rectangle r = rcClip;
|
|
|
|
|
return r.IsEmpty ? (Rectangle?)null : r;
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
rcClip = value ?? default(RECT);
|
2017-12-27 13:01:03 -05:00
|
|
|
|
SetFlag(DrawThemeBackgroundFlags.DTBG_CLIPRECT, value.HasValue);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets a value indicating whether omit drawing the border.</summary>
|
|
|
|
|
/// <value><c>true</c> if omit border; otherwise, <c>false</c>.</value>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public bool OmitBorder { get => dwFlags.IsFlagSet(DrawThemeBackgroundFlags.DTBG_OMITBORDER); set => SetFlag(DrawThemeBackgroundFlags.DTBG_OMITBORDER, value); }
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets a value indicating whether omit drawing the content area of the part.</summary>
|
|
|
|
|
/// <value><c>true</c> if omit content area of the part; otherwise, <c>false</c>.</value>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public bool OmitContent { get => dwFlags.IsFlagSet(DrawThemeBackgroundFlags.DTBG_OMITCONTENT); set => SetFlag(DrawThemeBackgroundFlags.DTBG_OMITCONTENT, value); }
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets a value indicating the hdc is mirrored and flip images as appropriate.</summary>
|
|
|
|
|
/// <value><c>true</c> if mirrored; otherwise, <c>false</c>.</value>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public bool HasMirroredDC { get => dwFlags.IsFlagSet(DrawThemeBackgroundFlags.DTBG_MIRRORDC); set => SetFlag(DrawThemeBackgroundFlags.DTBG_MIRRORDC, value); }
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
/// <summary>Gets or sets a value indicating whether to mirror the output; even in right-to-left (RTL) layout.</summary>
|
|
|
|
|
/// <value><c>true</c> if not mirroring; otherwise, <c>false</c>.</value>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public bool DoNotMirror { get => dwFlags.IsFlagSet(DrawThemeBackgroundFlags.DTBG_NOMIRROR); set => SetFlag(DrawThemeBackgroundFlags.DTBG_NOMIRROR, value); }
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Performs an implicit conversion from <see cref="Rectangle"/> to <see cref="DTBGOPTS"/>.</summary>
|
2017-11-27 13:11:20 -05:00
|
|
|
|
/// <param name="clipRectangle">The clipping rectangle.</param>
|
|
|
|
|
/// <returns>The result of the conversion.</returns>
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public static implicit operator DTBGOPTS(Rectangle clipRectangle) => new DTBGOPTS(clipRectangle);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
|
|
|
|
private void SetFlag(DrawThemeBackgroundFlags f, bool value)
|
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
dwFlags = dwFlags.SetFlags(f, value);
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
/// <summary>Represents a safe handle for a theme. Use in place of HTHEME.</summary>
|
|
|
|
|
public class SafeThemeHandle : Vanara.InteropServices.GenericSafeHandle
|
2017-11-27 13:11:20 -05:00
|
|
|
|
{
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public SafeThemeHandle() : this(IntPtr.Zero) { }
|
2017-11-27 13:11:20 -05:00
|
|
|
|
|
2017-12-27 13:01:03 -05:00
|
|
|
|
public SafeThemeHandle(IntPtr hTheme, bool ownsHandle = true) : base(hTheme, p => CloseThemeData(p) == 0, ownsHandle) { }
|
2017-11-27 13:11:20 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|