Bonjour,
j'ai mis en place 2 scrollbar autour de ma fenetre OpenGL.
Je voulais savoir comment est-ce qu'il est possible de gerer les deplacements des scrollbar via les touches directionnelles ?
Merci.
Bonjour,
j'ai mis en place 2 scrollbar autour de ma fenetre OpenGL.
Je voulais savoir comment est-ce qu'il est possible de gerer les deplacements des scrollbar via les touches directionnelles ?
Merci.
salut,
la scrollbar gère les touches si elle a le focus.
tu peux aussi intercepter les touches claviers dans ta fenêtre et envoyer un message clavier à l'ascenseur concerné (vertical ou horizontal)..
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Ah ok merci.
Effectivement j'ai vu que parfois les touches etaient gerees mais je ne savais pas pourquoi.
Par contre pour intercepter les touches directionnelles du clavier c'est bien avec OnKeyDown ?
Je teste le nChar avec VK_DOWN, VK_UP, etc... mais rien n'y fait.
Les lettres sont bien interceptees mais pas les fleches![]()
Personne ?
J'ai vu que les fleches etaient prevues pour les controles de l'application d'abord et qu'il faut donc changer les priorites ou inhiber les controles mais je ne trouve rien...
J'aimerai que mes fleches soient interceptees par OnKeyDown dans ma fenetre OpenGL tout comme je le fais avec les caracteres.
Merci![]()
Salut,
Oui c'est bien OnKeyDown
voici un ex:
Il faut s'assurer aussi que ta fenetre a le focus (fonction SetFocus()). Si tu ne veux pas que ta fenetre a le focus, tu peux intercepter OnSysKeyDown à la place (à condition que GetFocus()==NULL)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 void CMaClasse:OnKeyDown(UINT nChar,UINT nFlags) { switch (nChar) { case VK_LEFT: { // flèche gauche OnScroll(MAKEWORD(SB_LINELEFT,0xFF),0,TRUE); break; } case VK_RIGHT: { // flèche droite OnScroll(MAKEWORD(SB_LINERIGHT,0xFF),0,TRUE); break; } case VK_UP: { // flèche haut OnScroll(MAKEWORD(0xFF,SB_LINEUP),0,TRUE); break; } case VK_DOWN: { // flèche bas OnScroll(MAKEWORD(0xFF,SB_LINEDOWN),0,TRUE); break; } default: { CScrollView::OnKeyDown(nChar,nFlags); break; } } }
@+
Oui c'est bien ce que je fait et je donne bien le focus a ma fenetre mais des que je clique sur une fleche le focus revient automatiquement a ma boite de dialogue sur le premier de mes controles.
Comment desactiver ca ?
Merci !
Partager