public static extern bool GetWindowRect(IntPtr hWnd, ref RECTAPI rect);
public static extern int InvertRect(IntPtr hDC, ref RECTAPI rect);
public static extern bool DrawFocusRect(IntPtr hWnd, ref RECTAPI rect);
private static extern bool GetWindowRect(IntPtr hwnd, ref RECTAPI rectangle);
public static extern int GetClipBox(IntPtr hDC, ref RECTAPI rectBox);
public static extern int DrawThemeText(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, string pszText, int iCharCount, uint dwTextFlags, uint dwTextFlags2, [MarshalAs(UnmanagedType.Struct)] ref RECTAPI rect);
public static extern int DrawText(IntPtr hDC, string lpString, int nCount, ref RECTAPI Rect, int wFormat);
public static extern int FillRect(IntPtr hDC, ref RECTAPI rect, IntPtr hBrush);
public static extern IntPtr CreateRectRgnIndirect(ref RECTAPI rect);
private static extern bool GetClientRect(IntPtr hwnd, ref RECTAPI rectangle);
public static extern bool InvalidateRect(IntPtr hWnd, ref RECTAPI rect, bool erase);
public static extern int DrawThemeBackground(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, ref RECTAPI rect, ref RECTAPI clipRect);
private void RenderBorder() { IntPtr hdc = NativeUser32Api.GetWindowDC(this.Handle); RECTAPI s = new RECTAPI(); NativeUser32Api.GetWindowRect(this.Handle, ref s); using (Graphics g = Graphics.FromHdc(hdc)) { DrawingTools.DrawBorder((ControlBorderStyle) (int) this.BorderStyle, this.BorderColor, g, new Rectangle(0, 0, s.Width, s.Height)); } NativeUser32Api.ReleaseDC(this.Handle, hdc); }