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);
}