::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) unter VS 2003

Quick_Mik

Mitglied
Hallo Gemeinde.

Ich arbeite seit kurzem mit VS 2003. Dort habe ich nun, wie aus VS 6 gewohnt, eine Behandlungsmethode für WM_CTLCOLOR eingerichtet.

Mein Problem ist nun, dass diese gar nicht aufgerufen wird...

Hat jemand ne Idee

Das ganze ist folgendermaßen implementiert:

Code:
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
in der Header Datei des Dialogs und

Code:
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	switch(pWnd->GetDlgCtrlID())
	{
	...
	}
	return hbr;
}
in der .cpp Datei

Unter VS 6 funktioniert das Ganze, wieso nicht unter VS 2003?

Gruß

M.
 
Man arbeitet einfach zuviel mit den verschiedenen Assistenten... :(

Unter VS 2003 gibt´s den Klassenasisstenten in der Form nicht mehr. Und darin lag auch mein Fehler. Hatte vergessen die Nachricht in die MessageMap aufzunehmen :-(

Kaum macht man´s richtig, schon geht´s :D

Gruß

M.
 
Das Wizard-Equivalent haben die in die Properties reinverwurstet. Wenn du auf der Dialog-Klasse (der cpp-Datei) die Eigenschaften aufmachst, kannst du in einer der Tabs auf die Nachrichten wechseln. Dort kannst du dann auch die Message-Handler einrichten lassen.
 
Zurück