先在窗体的private处声明变量: stop:boolean; 再在你的循环里加上下面语句: application.ProcessMessages ; if stop then break; 将你的窗体的KeyPreView属性设置为True, 然后在窗体的OnKeyDown事件里写下:if key=vk_escape then stop:=true;就行了.
to skimwater(掠水惊鸿 按你所说的方法 在窗体的keydown中设的断点并没有断住 keyprivew我已经设为true
不知道你是怎么写的程序你可以考虑使用下面的方法: if stop then begin //在此处强制停止打印,如:Printer.Abort ; break; end;
stop:boolean;
再在你的循环里加上下面语句:
application.ProcessMessages ;
if stop then break;
将你的窗体的KeyPreView属性设置为True,
然后在窗体的OnKeyDown事件里写下:if key=vk_escape then stop:=true;就行了.
按你所说的方法
在窗体的keydown中设的断点并没有断住
keyprivew我已经设为true
if stop then
begin
//在此处强制停止打印,如:Printer.Abort ;
break;
end;
你放置一个按钮试一下呢?只要有application.ProcessMessages 这句话是否在打印是没有关系的,除非这句话需要很久才有机会执行到,要是这样的话你恐怕要另开一个线程了