protected override void WndProc(ref Message m) {
#if debug
Console.WriteLine(DateTime.Now.ToLongTimeString () + " Form {0} ({2}) received message {1}", window.Handle == IntPtr.Zero ? this.Text : XplatUI.Window(window.Handle), m.ToString (), Text);
#endif
if (window_manager != null && window_manager.WndProc (ref m)) {
return;
}
switch ((Msg)m.Msg) {
case Msg.WM_DESTROY: {
WmDestroy (ref m);
return;
}
case Msg.WM_CLOSE: {
WmClose (ref m);
return;
}
case Msg.WM_WINDOWPOSCHANGED: {
WmWindowPosChanged (ref m);
return;
}
case Msg.WM_SYSCOMMAND: {
WmSysCommand (ref m);
break;
}
case Msg.WM_ACTIVATE: {
WmActivate (ref m);
return;
}
case Msg.WM_KILLFOCUS: {
WmKillFocus (ref m);
return;
}
case Msg.WM_SETFOCUS: {
WmSetFocus (ref m);
return;
}
// Menu drawing
case Msg.WM_NCHITTEST: {
WmNcHitTest (ref m);
return;
}
case Msg.WM_NCLBUTTONDOWN: {
WmNcLButtonDown (ref m);
return;
}
case Msg.WM_NCLBUTTONUP: {
WmNcLButtonUp (ref m);
return;
}
case Msg.WM_NCMOUSELEAVE: {
WmNcMouseLeave (ref m);
return;
}
case Msg.WM_NCMOUSEMOVE: {
WmNcMouseMove (ref m);
return;
}
case Msg.WM_NCPAINT: {
WmNcPaint (ref m);
return;
}
case Msg.WM_NCCALCSIZE: {
WmNcCalcSize (ref m);
break;
}
case Msg.WM_GETMINMAXINFO: {
WmGetMinMaxInfo (ref m);
break;
}
case Msg.WM_ENTERSIZEMOVE: {
OnResizeBegin (EventArgs.Empty);
break;
}
case Msg.WM_EXITSIZEMOVE: {
OnResizeEnd (EventArgs.Empty);
break;
}
default: {
base.WndProc (ref m);
break;
}
}
}
#endregion // Protected Instance Methods