D delphiboy Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-06 #1 如何拦截窗体的消息<br>如关闭,最大,最小,双击最大化这些消息?<br><br>因为我把窗体DOCK到了一个PANEL里面,但用户如果双击属性栏,窗体回最大化,所以我想拦截这些消息。
D delphiboy Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-06 #2 如何拦截窗体的消息<br>如关闭,最大,最小,双击最大化这些消息?<br><br>因为我把窗体DOCK到了一个PANEL里面,但用户如果双击属性栏,窗体回最大化,所以我想拦截这些消息。
D delphiboy Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-06 #3 我想让窗体DOCK上面后,用户不能关闭它。而且双击时候,它不会最大化。
N NbBoy Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-06 #4 在message.pas中找到这些消息的标识, 然后在窗体中的代玛中拦截这些消息。
S Supermay Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-06 #6 前面写错<br><br>procedure WMSysCommand(var message: TMessage);Message WM_SYSCOMMAND ;<br>procedure TfrmViewPrinterLog.WMSysCommand(var message: TMessage);<br>begin<br> if (Message.WParam = SC_MINIMIZE)Or(Message.WParam=Sc_Close) then<br> begin<br> Self.Hide;<br> Self.SetTrayIcon;<br> end<br> else<br> Inherited;<br>end;
前面写错<br><br>procedure WMSysCommand(var message: TMessage);Message WM_SYSCOMMAND ;<br>procedure TfrmViewPrinterLog.WMSysCommand(var message: TMessage);<br>begin<br> if (Message.WParam = SC_MINIMIZE)Or(Message.WParam=Sc_Close) then<br> begin<br> Self.Hide;<br> Self.SetTrayIcon;<br> end<br> else<br> Inherited;<br>end;
D delphiboy Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-07 #7 我们在双击窗体的属性栏时候,会使窗体最大化或还原一般大小,如果拦截这个消息,让他什么都不做。就是说双击这个功能在窗体的属性无效?
D delphiboy Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-07 #8 Application.CreateForm(Tjlddata_form, jlddata_form);<br> Panel2.Width :=284 ;<br> jlddata_form.HostDockSite :=Panel2 ;<br> jlddata_form.Show ;<br><br><br>我将窗体停靠在Panel上面,但如果用户双击该窗体属性栏,那么窗体回最大化。如何屏蔽掉呢?
Application.CreateForm(Tjlddata_form, jlddata_form);<br> Panel2.Width :=284 ;<br> jlddata_form.HostDockSite :=Panel2 ;<br> jlddata_form.Show ;<br><br><br>我将窗体停靠在Panel上面,但如果用户双击该窗体属性栏,那么窗体回最大化。如何屏蔽掉呢?
R riss Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-07 #9 你是不是想让窗口大小不发生改变,还是想当用户单击最大,小化按钮,关闭按钮,时做什么动作呢?
R riss Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-07 #10 当窗口大小发生变化时,可拦截WM_SIZE消息,在消息处理程序中强行设置窗口大小,也可以一开始就设置窗口属性让其不能改变大小,并设置窗口大小,我设计过一个小程序,其中我就不让窗口在任何时候发生改变,以下你参照一下吧:<br>BOOL CMainFrame:reCreateWindow(CREATESTRUCT& cs)<br>{<br> if( !CFrameWnd:reCreateWindow(cs) )<br> return FALSE;<br> // TODO: Modify the Window class or styles here by modifying<br> // the CREATESTRUCT cs<br> cs.x=0;<br> cs.y=0;<br> cs.cx=799;<br> cs.cy=583;<br> cs.style &=WS_MAXIMIZE|WS_SYSMENU;<br> cs.lpszName = _T("红枫五字棋"<br><br> return TRUE;<br>}
当窗口大小发生变化时,可拦截WM_SIZE消息,在消息处理程序中强行设置窗口大小,也可以一开始就设置窗口属性让其不能改变大小,并设置窗口大小,我设计过一个小程序,其中我就不让窗口在任何时候发生改变,以下你参照一下吧:<br>BOOL CMainFrame:reCreateWindow(CREATESTRUCT& cs)<br>{<br> if( !CFrameWnd:reCreateWindow(cs) )<br> return FALSE;<br> // TODO: Modify the Window class or styles here by modifying<br> // the CREATESTRUCT cs<br> cs.x=0;<br> cs.y=0;<br> cs.cx=799;<br> cs.cy=583;<br> cs.style &=WS_MAXIMIZE|WS_SYSMENU;<br> cs.lpszName = _T("红枫五字棋"<br><br> return TRUE;<br>}
无 无有人 Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-07 #12 把窗体的BorderStyle属性设置为bsNone,可不可以?
Y yangb0803 Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-07 #13 可以将窗体的 bordericons.biminimize 和 bimaximixe 属性设置为false呀