sábado, 12 de novembro de 2011

Como usar as teclas de função F1, F2, etc?

- Para você colocar chamadas usando as teclas de função basta colocar o seguinte código no evento 'OnKeyDown' do formulário:

procedure Tform1.FormKeyDown(Sender:TObject; var Key: Word; Shift: TShifState);
begin
if key = vk_F1 then begin
{ instrucoes a serem executadas }
end;
end;

- OBSERVAÇÃO:
Não se esqueça de colocar a propriedade 'KeyPreview' do formulário em 'True'.
Você também pode usar as variáveis VK_F1 até VK_F12 referentes as outras teclas de função.   

Como rolar um form com pgUp e pgDn

Versão: Todas

Plataforma: Windows/Win32

Q. Como posso fazer funções de rolagem num componente TForm usando comandos de teclado? Por exemplo, rolar pra cima e pra baixo quando pressionar PgUp ou PgDown. Existe algum método simples de fazer isso???

R. O rolamento do form é completo fazendo-se uma modificação na posição das propriedades VertScrollbar ou HorzScrollbar do form. Como mostrado no código a 
seguir:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
PageDelta = 10;
begin
  With VertScrollbar do
  if Key = VK_NEXT then
  Position := Position + PageDelta
  else if Key = VK_PRIOR then
  Position := Position - PageDelta;
end;

Como desabilitar as teclas Alt + F4


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;