怎样禁止Alt+F4关闭窗口?

MAX·WOODS 2001-07-18 03:20:54
如果知道的话,麻烦告知怎样得知窗口的关闭方式:

点击右上角关闭钮 or Alt+F4 or 通过代码调用关闭...
...全文
209 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chechy 2001-07-19
  • 打赏
  • 举报
回复
唉,Alt+f4触发的是WM_SYSCOMMAND的消息,而Close触发的是WM_CLOSE的消息。
所以在SYSCOMMAND中禁止alt+f4,并不会禁止Close。我不明白为什么要那么复杂?
Hillside 2001-07-19
  • 打赏
  • 举报
回复
我的意思是不让Alt+F4关闭,但可以通过调用代码关闭!
procedure Form1.CloseFormByCode;
begin
FCloseFlag:=True;
Close;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
...
CanClose:=FCloseFlag;
...
end;

哥们或姐们,再这样菜下去怎么好.这已经和Delphi无关了.
wljcr 2001-07-18
  • 打赏
  • 举报
回复
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
if (ssAlt in shift)and(key=115) then key:=0;
end;
chechy 2001-07-18
  • 打赏
  • 举报
回复
是啊,难道我的代码不对吗?
MAX·WOODS 2001-07-18
  • 打赏
  • 举报
回复
我的意思是不让Alt+F4关闭,但可以通过调用代码关闭!
stardreamsx 2001-07-18
  • 打赏
  • 举报
回复
gz
jearry_zhou 2001-07-18
  • 打赏
  • 举报
回复
调用API:SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,nil,SPIF_SENDCHANGE)
qywjg 2001-07-18
  • 打赏
  • 举报
回复
为什么不散分。!!!!!
qywjg 2001-07-18
  • 打赏
  • 举报
回复
来迟了,同意楼上意见!
Hillside 2001-07-18
  • 打赏
  • 举报
回复
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
...
CanClose:=False;
...
end;
chechy 2001-07-18
  • 打赏
  • 举报
回复
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;

procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
if Msg.CmdType <> SC_CLOSE then
inherited
end;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧