Ereignishandler für Checkboxen

Hulewulle

Mitglied
Hallo zusammen,

Ich habe mehrere Checkboxen auf einem Dialog. Nun will ich nur einen Ereignishandler schreiben der anhand der ID der Checkbox eine bestimmte methode ausführt.

Wie mache ich den Ereignishandler das alle Checkboxen auf anklicken den gleichen Ereignishandler aufrufen und ich im Ereignishandler dann erkenne welche Checkbox angeklickt wurde?

Ich habe hier im Forum schon gesucht und Hinweise auf OnNotify() und OnCommand() gefunden, aber irgendwie bekomme ich das nicht hin.

Wäre für Hilfe sehr dankbar.

MfG

Hulewulle
 
Hallo,
so sollte es eigentlich klappen(nich getestet)


1.Handle deklarieren

afx_msg void OnCheckBoxClicked();

2.Message-Map

BEGIN_MESSAGE_MAP(...)
.....
ON_BN_CLICKED(IDC_CHECK1, OnCheckBoxClicked)
ON_BN_CLICKED(IDC_CHECK2, OnCheckBoxClicked)
ON_BN_CLICKED(IDC_CHECK3, OnCheckBoxClicked)
END_MESSAGE_MAP()

3. Handle definieren

Code:
	void CDeinDialog::OnCheckBoxClicked()
	{
		bool b1, b2, b3;
		CButton *pBut1, *pBut2, *pBut3;

		pBut1 =	(CButton *)GetDlgItem(IDC_CHECK1);
		if( pBut1->GetCheck() == BST_CHECKED )
		{
			//Tu was
		}
		pBut2 =	(CButton *)GetDlgItem(IDC_CHECK2);
		if( pBut2->GetCheck() == BST_CHECKED )
		{
			//Tu was
		}
		pBut3 =	(CButton *)GetDlgItem(IDC_CHECK3);
		if( pBut3->GetCheck() == BST_CHECKED )
		{
			//Tu was
		}
	}
 
Zurück