WM_SYSCOMMAND Notification--------------------------------------------------------------------------------A window receives this message when the user chooses a command from the Window menu (formerly known as the system or control menu) or when the user chooses the maximize button, minimize button, restore button, or close button.SyntaxWM_SYSCOMMAND WPARAM wParam LPARAM lParam;
ParameterswParam Specifies the type of system command requested. This parameter can be one of the following values. SC_CLOSE Closes the window. SC_CONTEXTHELP Changes the cursor to a question with a pointer. If the user then clicks a control in the dialog box, the control receives a WM_HELP message. SC_DEFAULT Selects the default item; the user double-clicked the window menu. SC_HOTKEY Activates the window associated with the application-specified hot key. The lParam parameter identifies the window to activate. SC_HSCROLL Scrolls horizontally. SC_KEYMENU Retrieves the window menu as a result of a keystroke. For more information, see the Res section. SC_MAXIMIZE Maximizes the window. SC_MINIMIZE Minimizes the window. SC_MONITORPOWER Sets the state of the display. This command supports devices that have power-saving features, such as a battery-powered personal computer. The lParam parameter can have the following values:1 - the display is going to low power2 - the display is being shut offSC_MOUSEMENU Retrieves the window menu as a result of a mouse click. SC_MOVE Moves the window. SC_NEXTWINDOW Moves to the next window. SC_PREVWINDOW Moves to the previous window. SC_RESTORE Restores the window to its normal position and size. SC_SCREENSAVE Executes the screen saver application specified in the [boot] section of the System.ini file. SC_SIZE Sizes the window. SC_TASKLIST Activates the Start menu. SC_VSCROLL Scrolls vertically. lParam The low-order word specifies the horizontal position of the cursor, in screen coordinates, if a window menu command is chosen with the mouse. Otherwise, this parameter is not used. The high-order word specifies the vertical position of the cursor, in screen coordinates, if a window menu command is chosen with the mouse. This parameter is –1 if the command is chosen using a system accelerator, or zero if using a mnemonic. Return ValueAn application should return zero if it processes this message.
你把需要最大化的窗体align设为Client.让它的客户区填满client区域,不过这样有标题栏,如果你还要想做到是最大化的效果,就把border去掉。
LPARAM lParam;
ParameterswParam
Specifies the type of system command requested. This parameter can be one of the following values.
SC_CLOSE
Closes the window.
SC_CONTEXTHELP
Changes the cursor to a question with a pointer. If the user then clicks a control in the dialog box, the control receives a WM_HELP message.
SC_DEFAULT
Selects the default item; the user double-clicked the window menu.
SC_HOTKEY
Activates the window associated with the application-specified hot key. The lParam parameter identifies the window to activate.
SC_HSCROLL
Scrolls horizontally.
SC_KEYMENU
Retrieves the window menu as a result of a keystroke. For more information, see the Res section.
SC_MAXIMIZE
Maximizes the window.
SC_MINIMIZE
Minimizes the window.
SC_MONITORPOWER
Sets the state of the display. This command supports devices that have power-saving features, such as a battery-powered personal computer.
The lParam parameter can have the following values:1 - the display is going to low power2 - the display is being shut offSC_MOUSEMENU
Retrieves the window menu as a result of a mouse click.
SC_MOVE
Moves the window.
SC_NEXTWINDOW
Moves to the next window.
SC_PREVWINDOW
Moves to the previous window.
SC_RESTORE
Restores the window to its normal position and size.
SC_SCREENSAVE
Executes the screen saver application specified in the [boot] section of the System.ini file.
SC_SIZE
Sizes the window.
SC_TASKLIST
Activates the Start menu.
SC_VSCROLL
Scrolls vertically.
lParam
The low-order word specifies the horizontal position of the cursor, in screen coordinates, if a window menu command is chosen with the mouse. Otherwise, this parameter is not used.
The high-order word specifies the vertical position of the cursor, in screen coordinates, if a window menu command is chosen with the mouse. This parameter is –1 if the command is chosen using a system accelerator, or zero if using a mnemonic. Return ValueAn application should return zero if it processes this message.
当MDI子窗体有一个最大化时,其他打开的窗体都是跟着最大化的,当有一个窗体没有最大化时,其他已经最大化的窗体也会跟着变成没有最大化,这样一个窗体的状态就会破坏其他窗体的状态
你的问题:最大化的会影响其它原始尺寸窗体的状态解决:所有窗体都按ws_normal来显示,就是原始尺寸
需要最大化的窗体程序改align或者设置尺寸,而不使用真正的最大化命令你是不是想要人贴出来代码?
问题是,当我需要最大化的时候若改成align是会发生如下问题:窗体的关闭,还原,最小化按钮不见了