如何防止用户通过点击窗口的右上角的“X”关闭窗口(50分)

  • 主题发起人 主题发起人 ipec
  • 开始时间 开始时间
I

ipec

Unregistered / Unconfirmed
GUEST, unregistred user!
大虾:
新年好!
小弟有几个DELPHI的问题想请教一下:
1。有很多文章介绍通过拖动窗体任意部分来拖动整个窗口。想通过拖动一个控件 来实现(比如一个PANEL),请问应该如何搞?
2。请问如何防止用户通过点击窗口的右上角的“X”关闭窗口?
谢谢!!!
 
加入form.OnClose。
 
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var userchoiceWord:word;
begin
userChoiceword:= messagedlg('您老真的要退出吗?', mtconfirmation, [mbyes, mbno],0);
canclose:=(userChoiceword=mryes);
end;
 
在FormCloseQuery事件中设置canclose=false;
移动窗体有很多方法,如mousedown时如何,mousemove又如何,mouseup又如何,
或使用
procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;
 
呵呵,房客 的提示真幽默! :)
 
1>用控件的拖动就可以,在Panel1DragDrop,Panel1DragOver中修改panel的top,left的坐标
根据你鼠标Panel1MouseDown是落下的坐标,和鼠标移动时的坐标之间的差值进行
拖动.具体的还是看看书吧
2>那为什么不干脆屏蔽掉他(那个X)?
在属性bordericons中,把bisystemmenu=false
 
又来晚了
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
768
SUNSTONE的Delphi笔记
S
S
回复
0
查看
681
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部