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 :

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 );
}
Contrairement à ce que je pensais, ceci n'empêche pas d'utiliser ctrl + C et Ctrl + V.
Je ne comprends pas pourquoi.