public static extern IntPtr CreateWindowEx( ExtendedWindowStyleFlags exStyle, [MarshalAs(UnmanagedType.LPTStr)] string className, [MarshalAs(UnmanagedType.LPTStr)] string windowTitle, WindowStyleFlags style, int x, int y, int width, int height, IntPtr hParentWnd, IntPtr hMenu, IntPtr hInstance, IntPtr hParam);
/// <summary> /// Set the Extended WindowStyle /// </summary> /// <param name="interopWindow">InteropWindow</param> /// <param name="extendedWindowStyleFlags">ExtendedWindowStyleFlags</param> /// <returns>IInteropWindow for fluent calls</returns> public static IInteropWindow SetExtendedStyle(this IInteropWindow interopWindow, ExtendedWindowStyleFlags extendedWindowStyleFlags) { User32Api.SetWindowLongWrapper(interopWindow.Handle, WindowLongIndex.GWL_EXSTYLE, new IntPtr((uint)extendedWindowStyleFlags)); interopWindow.Info = null; return(interopWindow); }
public static extern Boolean AdjustWindowRectEx(ref Rectangle coords, WindowStyleFlags dwStyle, [MarshalAs(UnmanagedType.Bool)] bool hasMenu, ExtendedWindowStyleFlags dwExStyle);
private static bool IsAppWindow(ExtendedWindowStyleFlags styleFlags) => (styleFlags & ExtendedWindowStyleFlags.WS_EX_APPWINDOW) == ExtendedWindowStyleFlags.WS_EX_APPWINDOW;
private static bool IsToolWindow(ExtendedWindowStyleFlags styleFlags) => (styleFlags & ExtendedWindowStyleFlags.WS_EX_TOOLWINDOW) == ExtendedWindowStyleFlags.WS_EX_TOOLWINDOW;
private static IEnumerable <string> Convert(ExtendedWindowStyleFlags styles) => from styleName in Enum.GetNames(typeof(ExtendedWindowStyleFlags)) let style = (ExtendedWindowStyleFlags)Enum.Parse(typeof(ExtendedWindowStyleFlags), styleName) where (styles & style) == style select $"{styleName} (0x{(uint) style:X8})";