menu

WinForms

  • Code Examples
  • Upgrade Guide
  • User Guide
  • Demos
  • Support
  • Forums
  • Download
Class ThemedControlDrawing - WindowsForms API Reference | Syncfusion

    Show / Hide Table of Contents

    Class ThemedControlDrawing

    Manages the theme handle given a control and exposes some basic themed Drawing methods.

    Inheritance
    System.Object
    NonFinalizeDisposable
    Disposable
    ThemedControlDrawing
    ThemedButtonDrawing
    ThemedCheckBoxDrawing
    ThemedComboBoxDrawing
    ThemedDropDownButtonDrawing
    ThemedEditDrawing
    ThemedGlobalsDrawing
    ThemedHeaderDrawing
    ThemedPushButtonDrawing
    ThemedRadioButtonDrawing
    ThemedScrollBarDrawing
    ThemedScrollButtonDrawing
    ThemedSpinButtonDrawing
    ThemedStatusBarDrawing
    ThemedTreeViewDrawing
    ThemedWindowDrawing
    ThemedTabDrawing
    ThemedXPButtonDrawing
    ThemedXPTaskBarBoxDrawing
    ThemedToolBarDrawing
    Implements
    System.IDisposable
    Inherited Members
    NonFinalizeDisposable.Dispose()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Syncfusion.Windows.Forms
    Assembly: Syncfusion.Shared.Base.dll
    Syntax
    public class ThemedControlDrawing : Disposable, IDisposable
    Remarks

    The System.Windows.Forms.Control bound to this class can either implement the IThemedControl interface or pass on the WM_THEMECHANGED message to this class with a call to the RefreshThemeHandle() method.

    Constructors

    ThemedControlDrawing(String)

    Creates a new instance of the ThemedControlDrawing class.

    Declaration
    public ThemedControlDrawing(string classList)
    Parameters
    Type Name Description
    System.String classList

    Pointer to a string that contains a semicolon-separated list of classes, as expected in the OpenThemeData API.

    Remarks

    The System.Windows.Forms.Control bound to this class can either implement the IThemedControl interface or pass on the WM_THEMECHANGED message to this class with a call to the RefreshThemeHandle() method. This is necessary in order that this class can refresh its handles when themes settings are updated.

    You can get the part and state ids required for the DrawXXX methods from the tmschema.h file (that comes with Platform SDK) or refer to the undocumented and incomplete ThemeParts and ThemeStates classes in our shared library (in the ThemeDefines.cs file).

    ThemedControlDrawing(String, IComponent)

    Creates a new instance of the ThemedControlDrawing class.

    Declaration
    public ThemedControlDrawing(string classList, IComponent owner)
    Parameters
    Type Name Description
    System.String classList

    Pointer to a string that contains a semicolon-separated list of classes, as expected in the OpenThemeData API.

    System.ComponentModel.IComponent owner

    Owning component.

    Remarks

    The System.Windows.Forms.Control bound to this class can either implement the IThemedControl interface or pass on the WM_THEMECHANGED message to this class with a call to the RefreshThemeHandle() method. This is necessary in order that this class can refresh its handles when themes settings are updated.

    You can get the part and state ids required for the DrawXXX methods from the tmschema.h file (that comes with Platform SDK) or refer to the undocumented and incomplete ThemeParts and ThemeStates classes in our shared library (in the ThemeDefines.cs file).

    If owning component is not null, ThemedControlDrawing automatically unregisters itself from XPThemes on component disposing.

    Properties

    DrawMirrored

    Declaration
    public bool DrawMirrored { get; set; }
    Property Value
    Type
    System.Boolean

    HTheme

    Returns the current theme handle used to render the parts.

    Declaration
    public IntPtr HTheme { get; }
    Property Value
    Type
    System.IntPtr

    Methods

    CloseThemeData()

    Closes the currently open theme handle.

    Declaration
    protected virtual void CloseThemeData()

    Dispose(Boolean)

    Overridden. See System.Windows.Forms.Control.Dispose(System.Boolean).

    Declaration
    protected override void Dispose(bool disposing)
    Parameters
    Type Name Description
    System.Boolean disposing
    Overrides
    NonFinalizeDisposable.Dispose(Boolean)

    DrawThemeBackground(Graphics, Int32, Int32, Rectangle)

    Overloaded. Draws the specified theme background.

    Declaration
    public virtual void DrawThemeBackground(Graphics g, int partID, int stateID, Rectangle rectangle)
    Parameters
    Type Name Description
    System.Drawing.Graphics g

    A System.Drawing.Graphics object.

    System.Int32 partID

    An integer specifying the part.

    System.Int32 stateID

    An integer specifying the state.

    System.Drawing.Rectangle rectangle

    The background System.Drawing.Rectangle.

    Remarks

    See ThemedControlDrawing for information on how to get the part and state IDs.

    This method uses the VisibleClipRegion in the Graphics object to obtain the clip rect.

    DrawThemeBackground(Graphics, Int32, Int32, Rectangle, Rectangle)

    Draws the specified theme background.

    Declaration
    public virtual void DrawThemeBackground(Graphics g, int partID, int stateID, Rectangle rectangle, Rectangle clipRect)
    Parameters
    Type Name Description
    System.Drawing.Graphics g

    A System.Drawing.Graphics object.

    System.Int32 partID

    An integer specifying the part.

    System.Int32 stateID

    An integer specifying the state.

    System.Drawing.Rectangle rectangle

    The background System.Drawing.Rectangle.

    System.Drawing.Rectangle clipRect

    The clip rect to be used.

    Remarks

    See ThemedControlDrawing for information on how to get the part and state IDs.

    Use this function to provide custom clip bounds.

    DrawThemeText(Graphics, Int32, Int32, String, Rectangle, Int32, Int32)

    Draws the specified theme text.

    Declaration
    public void DrawThemeText(Graphics g, int partID, int stateID, string text, Rectangle bounds, int formatFlags1, int formatFlags2)
    Parameters
    Type Name Description
    System.Drawing.Graphics g

    A System.Drawing.Graphics object.

    System.Int32 partID

    An integer specifying the part.

    System.Int32 stateID

    An integer specifying the state.

    System.String text

    The text to be drawn.

    System.Drawing.Rectangle bounds

    The layout bounds within which to draw.

    System.Int32 formatFlags1

    Refers to the DrawThemeText function in the Windows API.

    System.Int32 formatFlags2

    Refers to the DrawThemeText function in the Windows API.

    DrawThemeText(Graphics, Int32, Int32, String, Rectangle, UInt32, UInt32)

    Overloaded. Draws the specified theme text.

    Declaration
    [CLSCompliant(false)]
    public virtual void DrawThemeText(Graphics g, int partID, int stateID, string text, Rectangle bounds, uint formatFlags1, uint formatFlags2)
    Parameters
    Type Name Description
    System.Drawing.Graphics g

    A System.Drawing.Graphics object.

    System.Int32 partID

    An integer specifying the part.

    System.Int32 stateID

    An integer specifying the state.

    System.String text

    The text to be drawn.

    System.Drawing.Rectangle bounds

    The layout bounds within which to draw.

    System.UInt32 formatFlags1

    Refers to the DrawThemeText function in the Windows API.

    System.UInt32 formatFlags2

    Refers to the DrawThemeText function in the Windows API.

    GetPartSize(Graphics, Int32, Int32, Int32)

    Returns the size for the specified part.

    Declaration
    public virtual Size GetPartSize(Graphics g, int partId, int stateId, int sizeType)
    Parameters
    Type Name Description
    System.Drawing.Graphics g

    A System.Drawing.Graphics object.

    System.Int32 partId

    An integer specifying the part.

    System.Int32 stateId

    An integer specifying the state.

    System.Int32 sizeType

    The size type.

    Returns
    Type Description
    System.Drawing.Size

    The requested size.

    GetTextExtent(Graphics, Int32, Int32, String, Rectangle, UInt32)

    Calculates the size and location of the specified text when rendered in the theme font.

    Declaration
    [CLSCompliant(false)]
    public virtual Rectangle GetTextExtent(Graphics g, int partId, int stateId, string text, Rectangle bounds, uint format)
    Parameters
    Type Name Description
    System.Drawing.Graphics g

    A System.Drawing.Graphics object.

    System.Int32 partId

    An integer specifying the part.

    System.Int32 stateId

    An integer specifying the state.

    System.String text

    The text to draw.

    System.Drawing.Rectangle bounds

    The layout bounds.

    System.UInt32 format

    See GetThemeTextExtent method documentation in Windows API.

    Returns
    Type Description
    System.Drawing.Rectangle

    The rectangle representing the extent.

    GetThemeSysBool(Int32)

    Declaration
    public bool GetThemeSysBool(int id)
    Parameters
    Type Name Description
    System.Int32 id
    Returns
    Type
    System.Boolean

    GetThemeSysColor(Int32)

    Declaration
    public Color GetThemeSysColor(int colorId)
    Parameters
    Type Name Description
    System.Int32 colorId
    Returns
    Type
    System.Drawing.Color

    GetThemeSysInt(Int32)

    Declaration
    public int GetThemeSysInt(int id)
    Parameters
    Type Name Description
    System.Int32 id
    Returns
    Type
    System.Int32

    GetThemeSysSize(Int32)

    Declaration
    public int GetThemeSysSize(int id)
    Parameters
    Type Name Description
    System.Int32 id
    Returns
    Type
    System.Int32

    GetThemeSysString(Int32)

    Declaration
    public string GetThemeSysString(int id)
    Parameters
    Type Name Description
    System.Int32 id
    Returns
    Type
    System.String

    OpenThemeData()

    Called to create a theme handle, given the specified control and classList.

    Declaration
    protected virtual void OpenThemeData()

    RefreshThemeHandle()

    Closes the current theme handle and tries to open a new one.

    Declaration
    public void RefreshThemeHandle()

    ResetThemeHandle()

    Closes the current theme handle.

    Declaration
    public void ResetThemeHandle()

    Implements

    System.IDisposable
    Back to top Generated by DocFX
    Copyright © 2001 - 2025 Syncfusion Inc. All Rights Reserved