全部身家!!!如何编写键盘中断?(例如按一下ESC键退出正在进行的程序循环)。(50分)

  • 主题发起人 主题发起人 laozhang
  • 开始时间 开始时间
L

laozhang

Unregistered / Unconfirmed
GUEST, unregistred user!
全部身家!!!如何编写键盘中断?(例如按一下ESC键退出正在进行的程序循环)。
 
将窗体的KeyPreview属性设为True

窗体上放一个Label,一个Button

var
Form1 : TForm1;
//[begin code]
implementation
var
vl_Continue : Boolean;
{$R *.DFM}

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_ESCAPE then
vl_Continue := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
begin
vl_Continue := True;
for I := 0 to 10000 do
begin
Application.ProcessMessages;
if not vl_Continue then
Break;
Label1.Caption := IntToStr(I);
end;
end;
//[end code]
 
在你实现程序的那个控件的onKeyDown事件中写下:
if Key = 027 then
Abort;
然后在程序中需要中断的地方执行onKeyDown事件。
 
后退
顶部