bonjour;
je suis entrain de devellopper un application pouvant lire les DVD et peremettantd ef aire des mesures de temps entre 2 evenement sur la video.
je voudrais pour accelerer l'utilisation du logicielle implementer de touche raccourci tel que appuyer sur espace pour lecture/pause, "1","2"..."9" pour marquer un evenement de type 1,2,...9 etc
j'ai reussis a utiliser WM_HOTKEY
et finalment:
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 BEGIN_MESSAGE_MAP(Crendu_finalDlg, CDialog) ... ON_MESSAGE(WM_HOTKEY,OnHotKey) ... END_MESSAGE_MAP() class Crendu_finalDlg : public CDialog, public IDvdCallback { ... afx_msg LRESULT OnHotKey(WPARAM wParam, LPARAM lParam); ... } LRESULT Crendu_finalDlg::OnHotKey(WPARAM wParam, LPARAM lParam) { if(hotkey_disable_events==true) { switch (wParam) { case 0: MessageBox("0"); OnBnClickedButton8(); break; ... default: MessageBox("sould not happen"); } } return 0; }pour ajouter ou enlever une hotkey.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 RegisterHotKey(this->m_hWnd,0,MOD_SHIFT,'0'); UnregisterHotKey(this->m_hWnd,0);
mon problem est le suivant: je ne veus pas que l'utilisateur esta appuier sur une combinaison de touche.
cad au lieu de faire shift+0 qu'il est jsute a faire 0
pour cela j'ai commencer a regarde le ON_WM_KEYDOWN:
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 BEGIN_MESSAGE_MAP(Crendu_finalDlg, CDialog) ... ON_WM_KEYDOWN() ... END_MESSAGE_MAP() afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); void Crendu_finalDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { switch(nChar) { case VK_RETURN: AfxMessageBox("You pressed Enter"); break; case VK_F2: AfxMessageBox("Help is not available at the moment"); break; case VK_DELETE: AfxMessageBox("Can't Delete This"); break; default: AfxMessageBox("Whatever"); } }
mais quand j'appuie sur le touche F2 delete ou entrer rien ne se passe et j'ai verifier et mon progrmme ne rentre pas dans OnKeyDown
est ce que quelqu'un peu me dire comment modifier le WM_HOTKEY pour ne pas avoir a faire de combinaison de touche ou alors ce que je suis entrain de rater dans ON_WM_KEYDOWN?
merci d'avance
jason
merci de mettre les balises [ code ] à l'avenir, nico-pyright(c) / modérateur visual c++
Partager