Bonjour,
je voudrais empêcher l'utilisatauer de pouvoir faire des "coller" dans l'une de mes classes qui hérite de CEditView. Je me suis fortement inspiré de la faq qui répond à la question :
"Comment savoir si la touche Alt ,contrôle ou majuscule est pressée dans une notification de message clavier ?"
et j'ai écris ce code :
Contrairement à ce que je pensais, ceci n'empêche pas d'utiliser ctrl + C et Ctrl + V.
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 void CUnprocessedFrameView::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) { if(IsCtrlDown()) { return; } else CEditView::OnKeyUp(nChar, nRepCnt, nFlags); } void CUnprocessedFrameView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { if(IsCtrlDown()) { return; } else { CEditView::OnKeyDown(nChar, nRepCnt, nFlags); } } bool CUnprocessedFrameView::IsCtrlDown() { return ( (GetKeyState(VK_CONTROL) & (1 << (sizeof(SHORT)*8-1))) != 0 ); }
Je ne comprends pas pourquoi.
Partager