关于窗体最小化(20分)

  • 主题发起人 主题发起人 linuxcrow
  • 开始时间 开始时间
L

linuxcrow

Unregistered / Unconfirmed
GUEST, unregistred user!
当用户单击最小化标签时,会发出什么消息?我如何截获它不让windows执行最小化,<br>而做我想做的!<br>用setwindowlong(application.handle,GW_EXSTYLE,WS_EX_TOOLWINDOW)时如果最小化<br>窗体就会向左下缩小到任务栏上如何不让它这么做?
 
截获WM_SYSCOMMAND消息。<br>窗体的类声明如下:<br>TForm1 = class(TForm)<br>private<br>{ Private declarations }<br>public<br>{ Public declarations }<br>procedure WMSysCommand(var Message: TWMSysCommand);message WM_SYSCOMMAND;//响应WM_SYSCOMMAND消息<br>end;<br><br>WMSysCommand的实现如下:<br>procedure TForm.WMSysCommand(var Message: TWMSysCommand);<br>begin<br>Inherited;//调用先前的处理函数<br>if (Message.CmdType and $FFF0 = SC_MINIMIZE) then<br>... //自己的处理<br>end;<br>
 
procedure TForm1.WMSysCommand(var Message: TWMSysCommand);<br>begin<br>&nbsp; inherited;<br>&nbsp; if (Message.CmdType=SC_MAXIMIZE) or (Message.CmdType=SC_SIZE) then//最大化<br>&nbsp; begin<br>&nbsp; &nbsp; ...<br>&nbsp; end<br>&nbsp; else if (Message.CmdType=SC_RESTORE) then//復原<br>&nbsp; begin<br>&nbsp; &nbsp;...<br>&nbsp; end;<br>end;
 
多人接受答案了。
 
后退
顶部