怎样屏蔽掉ALT+F4关闭窗口键?

解决方案 »

  1.   

    在form的keydown事件中写入:
      if(key=115)and(ssAlt in Shift)then
        abort;
      

  2.   

    屏蔽alt+f41.设置主form1 keypreview为true;
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
        if (shift = [ssAlt]) and (key = vk_F4) then
          begin
            shift := [];
            key := 0;
          end;
    end;
      

  3.   

    在关闭按钮的onclick中定义一个全局变量,当点击的时候变为真,否则永远是假
    在onclosequery中写上判断这个全局变量时候为真,如果是真的时候关闭,否则不管,这样的话不就很好的屏蔽了Alt + F4了嘛!
      

  4.   

    好,结帖,谢谢各位。
    我原来就是在Form上加入了全局变量flag,OnClick 里为真,其他地方为假,在OncloseQuery中些下:
    CanClose := true;
    if flag then
    CanClose := false;
    我在以前其他程序引用正确,
    隔了半年没有编程,现在为了糊口又要进行编程...