我在程序里面已设置了不能使用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组合键关闭,这样可以做到吗?请高手指点,谢谢!
解决方案 »
- 关于类的简单问题
- 关于TChart或者TDBChart和数据库的连接,请教高手
- 还你1001分
- 怎样判断一个线程是否正在运行^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!!!
- 請教各位大蝦,如何給自定義的控件加上圖標?
- 第二行‘sp_addlinkedserver’附近有语法错误
- 谢谢帮忙,各位兄弟!
- 关于Application.OnMessage
- ado连接为什么这么慢?
- 我在DELPHI6下面用ini怎么会出现 Wirte error的问题呢?程序不能执行!!!!
- 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中