Bonjour à tous.
L'exemple suivant montre comment utiliser une combinaison de touches de clavier 'Ctrl+X' (p.ex), de deux codes
'FormKeyDown' et 'Button1KeyDown' qui s'exécutent exclusivement l'un de l'autre selon la valeur 'KeyPreview'.
1/ si KeyPreview=True, le code suivant s'exécute:
2/ si KeyPreview=False, le code suivant s'exécute:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); //relatif à une Forme. begin if (Shift = [ssCtrl]) then begin Case key of Ord('A'): ShowMessage ('AForm'); //KeyPreview=True. Ord('B'): ShowMessage ('BForm'); Ord('C'): ShowMessage ('CForm'); end; end; end;
On peut utiliser un 'Button2' pour modifier l'état de 'KeyPreview':
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);// relatif à un Boutton. begin if (Shift = [ssCtrl]) then begin Case key of Ord('A'): ShowMessage ('AButton'); //KeyPreview=False. Ord('B'): ShowMessage ('BButton'); Ord('C'): ShowMessage ('CButton'); end; end; end;
merci à tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm1.Button2Click(Sender: TObject); begin if form1.KeyPreview=true then form1.KeyPreview:=false else form1.KeyPreview:=true; button1.SetFocus ; end;![]()
Partager