CButton Problem

Constantine

Grünschnabel
Hallo!
Ich habe folgendes Problemchen:
in einem Dialogfenster habe ich einige Buttons platziert, nun sollen diese Buttons nicht auf einfache Klicks reagieren, sondern auf "gedrückt halten". Das Programm soll im Endeffekt die Zeit des Klicks ausrechnen.
Wie ich das verstehe, brauche ich zwei Nachrichten für MaustasteUnten und MaustasteOben. Aber die in MFC vorhandene Nachrichten WM_LBUTTONDOWN und WM_LBUTTONUP werden nicht geschickt wenn ich auf die Buttons klicke.
Ich habe schon hier im Forum nachgeschaut, aber nichts gefunden. Kann mir bitte jemand helfen?
 
WM_LBUTTONDOWN und WM_LBUTTONUP bekommst du im Dialog ja auch nur vom Dialog selbst.
Du könntest über PreTranslateMessage gehen und dort auf WM_LBUTTONDOWN und WM_LBUTTONUP der Buttons hören.
 
Danke für schnelle Antwort Endurion! :)
Das hat mit PreTranslateMessage geklappt. Mein Dialogfenster "hört" jetzt auch die WM_LBUTTONDOWN Messages auch von den Buttons.
So sieht das bei mir in der Testfunktion aus (falls das jemand braucht):
Code:
BOOL TeachDlg::PreTranslateMessage(MSG* pMsg) 
{
	MSG myMsg;
	myMsg.hwnd=NULL;
	myMsg.message=WM_LBUTTONDOWN;
	if(pMsg->message==myMsg.message)
		TRACE("FUNKTIONIERT!\n");
	
	return CDialog::PreTranslateMessage(pMsg);
}
 
Zurück