Salut,
J'ai une application avec dedans un WebBrowser et des Memos que je crée dynamiquement. J'ai défini la méthode FormKeyDown de mon application de façon à récupérer les combinaisons de touches 'Ctrl + PgUp', 'Ctrl + PgDn' et d'autres pour pouvoir y faire des traitements queje veux. Tout à l'air de fonctionner mais dès que je le focus de mon application se retrouve sur le WebBrowser, mes combinaisons de touches ne sont plus détectées.
Par exemple si l'on fait 'Ctrl + N', ça doit rajouter un nouvelonglet contenant un TMemo. Si le focus estdéjà sur un TMemo, il se crée parfaitement. Dès que mon focus est sur mon WebBrowser, c'est une nouvelle fenêtre de Internet Explorer qui s'ouvre.
J'ai bien mis KeyPreview à true dans ma Form principale et voici mon code où je détecte les touches :
Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure TfmMain.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if ((GetAsyncKeyState(VK_CONTROL) <> 0)) and (key = VK_PRIOR) then LeftWebTabSheet; if ((GetAsyncKeyState(VK_CONTROL) <> 0)) and (key = VK_NEXT) then RigthWebTabSheet; if ((GetAsyncKeyState(VK_MENU) <> 0)) and (key = VK_PRIOR) then LeftNoteTabSheet; if ((GetAsyncKeyState(VK_MENU) <> 0)) and (key = VK_NEXT) then RigthNoteTabSheet; if ((GetAsyncKeyState(VK_CONTROL) <> 0)) and (key = VK_N) then AddTabSheet; end;
Partager