Ereignisse (SetFocus/KillFocus) einbauen..

Erstell dir mal ein neues Projekt.
Bau die OnPaint() ein,
und such mal nach "Message_Map
da bekommste dann sowas:
Code:
in cpp
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
	//{{AFX_MSG_MAP(CMyDlg)
	ON_WM_PAINT()
	ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

und im Header
	void OnPaint();
	BOOL OnEraseBkgnd(CDC *pDC);
	DECLARE_MESSAGE_MAP()

Alle Nachrichten die sonn Window schickt werden dann in der MessageMap gefangen und and die entsprechenden Funktionen weitergeleitet.

Alternativ schau kommen die auch alle in dem Handler an:
Code:
BOOL CMyDlg::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
	if(message == WM_PAINT)//hier ein Beispiel für die WM_PAINT
	{
		Malwasanderes();
		return TRUE;
	}

	return CDialog::OnWndMsg(message, wParam, lParam, pResult); 
}

Hoffe es hilft das Msg-System von Windows zu raffen.

Gruss Michael
 
Also nach langem ausprobieren und nachfragen klappt es mitlerweile.

Es gibt doch die möglichkeit der Checkboxen ereignisse auszulösen "SetFocus und KillFocus". Man muß in den Eigenschaften der CheckBoxen "Message" oder (für eMbedded) "Notify" aktivieren und dann klappt das mit den SetFocus- und KillFocus Funktionen.

Die Farbe konnte ich dann ganz leicht über "OnCtlColor" ändern.

Vielen Dank an alle die sich den Kopf zerbrochen haben.

Gruß Rudi
 

Neue Beiträge

Zurück