我在程序里面已设置了不能使用ALT+F4组合键失效,只能通过关闭按钮关闭程序
因为如果不设置成失效,用这个组合键关闭时,也会报错如下:
工程检测到错误类EAccessViolation,失效代码如下:
procedure TForm10.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_F4) and (ssAlt in shift) then// 使窗体的 Alt+F4 快捷键(关闭窗体)失效
Key :=0;
end;这样可以使得用户在使用时不能通过ALT+F4组合键来关闭窗体,可是如果在任务栏右击运行的程序,然后点“关闭”时就出错了,弹出很多的窗口,内容如下:
标题为:工程名称
Access violation at address D6C2C4CB.Read of address D6C2C4CB.
我想使用鼠标右击关闭可以关闭,但不能使用ALT+F4组合键关闭,这样可以做到吗?请高手指点,谢谢!
因为如果不设置成失效,用这个组合键关闭时,也会报错如下:
工程检测到错误类EAccessViolation,失效代码如下:
procedure TForm10.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_F4) and (ssAlt in shift) then// 使窗体的 Alt+F4 快捷键(关闭窗体)失效
Key :=0;
end;这样可以使得用户在使用时不能通过ALT+F4组合键来关闭窗体,可是如果在任务栏右击运行的程序,然后点“关闭”时就出错了,弹出很多的窗口,内容如下:
标题为:工程名称
Access violation at address D6C2C4CB.Read of address D6C2C4CB.
我想使用鼠标右击关闭可以关闭,但不能使用ALT+F4组合键关闭,这样可以做到吗?请高手指点,谢谢!
解决方案 »
- adoquery的sql语句的参数问题?分少,请热心的人帮忙!
- 请教一个DLL传字符串参数的问题
- 我是刚学delphi,请教各位
- RyanGT(笑书神侠) 请进来 现在是最后一个100分
- 求一个工资管理规则的算法
- 我想做一个编辑器,可以直接在Form上编辑文本。该怎么做?特别是文字选择时反白以及获得选择的文字。
- 怎么在DELPHI里运行WORLD文件。
- 想去深圳
- 新手问题:uses里面所说明的这些什么?
- 如何编程实现将某一用户程序添加到“程序”栏里,以及如何从“程序”栏里将其隐藏?
- delphi 子窗体或者 formstyle:fsNormal 打开第一次没有事,再打开出错,为什么?
- 输入法切换死机问题
关闭按钮是自己另外加的一个BUTTON,我在设置关闭按钮时,就弹出另外一窗体,然后再单击是才可以关闭
具体代码如下
// 这是第一个窗体也就主窗上的关闭按钮
procedure TfrmMain.SpeedButton6Click(Sender: TObject);
begin
Application.CreateForm(TForm8, Form8);
form8.Show;
end;
// 这是另外一个窗体的“是”按钮关闭窗体及整个程序
procedure TForm8.ToolButton2Click(Sender: TObject);
begin
frmMain.Comm1.StopComm;
frmMain.Comm1.Free;
frmMain.Timer1.Free;
frmMain.Timer2.Free;
frmMain.Timer3.Free;
frmMain.Timer4.Free;
frmMain.Timer5.Free;
frmMain.WindowsMediaPlayer1.close;
frmMain.WindowsMediaPlayer1.Free;
form8.Close;
frmMain.Close;
end;
frmMain.Comm1.StopComm;
frmMain.Comm1.Free;
frmMain.Timer1.Free;
frmMain.Timer2.Free;
frmMain.Timer3.Free;
frmMain.Timer4.Free;
frmMain.Timer5.Free;
frmMain.WindowsMediaPlayer1.close;
frmMain.WindowsMediaPlayer1.Free;这段应该放在frmMain.Close里面
而且并不是很必要(frmMain.Comm1.StopComm;这个到有需要)光从这段也看不出产生问题的地方
frmMain.Comm1.Free;
frmMain.Timer1.Free;
frmMain.Timer2.Free;
frmMain.Timer3.Free;
frmMain.Timer4.Free;
frmMain.Timer5.Free;
frmMain.WindowsMediaPlayer1.close;
frmMain.WindowsMediaPlayer1.Free;
这段代码一放入formclose中