| private String normaltext; public String NormalText { get { return normaltext; } set { normaltext = value; } } |
| public class MainWindow : System.Windows.Forms.Form { private String NormalText = "Scribble2"; private String MaximizedText = "Window is now maximized"; // Handle WM_GETTEXT: Return maximized or // normal text, depending on // state of active MDI child window. protected override void WndProc(ref Message m) { const int WM_GETTEXT = 0x000D; if (m.Msg==WM_GETTEXT) { Form active = this.ActiveMdiChild; String s = active!=null && active.WindowState==FormWindowState.Maximized ? MaximizedText : NormalText; char[] c = s.ToCharArray(); IntPtr buf = m.LParam; int len = c.Length; Marshal.Copy(c, 0, buf, Math.Min((int)m.WParam, len)); m.Result = (IntPtr)len; return; } base.WndProc(ref m); } ...... // rest of MainWindow unchanged from Scribble sample } |
![]() 图一 子窗口最大化时的主窗口标题 |
![]() 图二 子窗口在常态时两个窗口的标题 |