Name
NativeWindow
Synopsis
This class encapsulates a system window but does not implement the
IWin32Window interface. It provides
CreateHandle() and AssignHandle() methods to wrap a native HWND, and
DestroyHandle() to clean it up. You can also
retrieve a NativeWindow for a particular handle
with the static FromHandle() method. The
Handle can be retrieved at any time.
You can also invoke the DefWndProc() with a
particular Message.
You would typically use this control when you are creating a
System.ComponentModel.Component (rather than a
Control) that uses a native Win32 window. An
example of this in the framework is the ToolTip.
It uses a NativeWindow derived class in its
implementation to manage the pop-up tip window.
public class NativeWindow : MarshalByRefObject { // Public Constructors public NativeWindow(); // Public Instance Properties public IntPtr Handle{get; } // Public Static Methods public static NativeWindow FromHandle(IntPtr handle); // Public Instance Methods public void AssignHandle(IntPtr handle); public virtual void CreateHandle(CreateParams cp); public void DefWndProc(ref Message m); public virtual void DestroyHandle(); public virtual void ReleaseHandle(); // Protected Instance Methods protected override void Finalize(); // overrides object protected virtual void OnHandleChange(); protected virtual void OnThreadException(Exception e); protected virtual void WndProc(ref Message m); }
Hierarchy
System.Object
→ System.MarshalByRefObject → NativeWindow
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access