procedure TForm1.WMSysCommand;
begin
if (Msg.CmdType = SC_MAXIMIZE) then
begin
// 处理代码
//在这里我进行了一些处理,将窗口变成我要求的样式。
end;
DefaultHandler(Msg);
end;但运行完我处理后的代码后,窗口最大化按钮样式仍然是最大化的按钮样式,而不是正常情况下按下最大化按钮后就显示还原按钮的的样式。而下次在按这个按钮需要按下两次才可以还原,请问这个问题要如何处理?
begin
if (Msg.CmdType = SC_MAXIMIZE) then
begin
// 处理代码
//在这里我进行了一些处理,将窗口变成我要求的样式。
end;
DefaultHandler(Msg);
end;但运行完我处理后的代码后,窗口最大化按钮样式仍然是最大化的按钮样式,而不是正常情况下按下最大化按钮后就显示还原按钮的的样式。而下次在按这个按钮需要按下两次才可以还原,请问这个问题要如何处理?
begin
inherited; // 必须的
if (Msg.CmdType = SC_MAXIMIZE) then
begin
// 处理代码
//在这里我进行了一些处理,将窗口变成我要求的样式。 改变窗口样式,会再触发另外一些消息。跟踪一下这里代码看。
end;
DefaultHandler(Msg);
end;
begin
case message.WParam of
SC_MINIMIZE:ShowWindow(Handle,SW_HIDE);
SC_MAXIMIZE:
begin
//加入你的代码
ShowWindow(Handle,SW_SHOWMAXIMIZED);
end;
SC_RESTORE:ShowWindow(Handle,SW_SHOWNORMAL);
else
inherited;
end;
end;