Cancelar teclas ALT F4 de um Form
Como cancelar as teclas ALT + F4 e todas as outras formas de fechar um Form via teclado
Dema
Curtidas 0
Respostas
Spy
02/05/2003
[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é+
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é+
GOSTEI 0
Evandro Massini
02/05/2003
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...
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...
GOSTEI 0
Dema
02/05/2003
Obrigado !!!
GOSTEI 0