Cancelar teclas ALT F4 de um Form

02/05/2003

0

Como cancelar as teclas ALT + F4 e todas as outras formas de fechar um Form via teclado


Dema

Dema

Responder

Posts

02/05/2003

Spy

[b:43da73f43d]P/ cancelar Alt+F4:[/b:43da73f43d]

public
{ Public declarations }
fecha: Boolean;
end;

implementation

{$R *.DFM}

Function GetStateK (Key: integer): boolean;
begin
Result := Odd (GetKeyState (Key));
end;

procedure Tfrm_HIP.FormClose(Sender: TObject; var Action: TCloseAction);
begin
If Not fecha Then
Action := caNone Else
Action := caFree;
end;

procedure Tfrm_HIP.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If GetStateK (VK_LMENU) And (Key = VK_F4) Then
fecha := False;
end;

[b:43da73f43d]P/ Cancelar Teclas Ctrl+Alt+Del - Ctrl+Esc - Alt+Tab - Win95(tecla c/ a janelinha do windows:[/b:43da73f43d]


P/ Ligar
{# Liga a trava }
SystemParametersInfo(97, Word(True), @OldValue, 0);
{ fim da rotina de desligar a trava }


P/ Desligar
{# desliga a trava }
SystemParametersInfo(97, Word(False), @OldValue, 0);
{ fim da rotina de desligar a trava }


Espero ter ajudado. Té+


Responder

02/05/2003

Evandro Massini

Um outro modo seria:

Defina a propriedade KeyPreview do form para True.
No evento KeyDown inclua a seguinte linha:

if (shift=[ssalt]) and (key=vk_f4) then abort;

É só isso...

Até mais...


Responder

02/05/2003

Dema

Obrigado !!!


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar