Mehrer Buttons mit dem selben Ereignishandler
-
Moin.
Ich möchte für mehrere Buttons die selbe Ereignisbehandlungsroutine verwenden. Kann ich in dieser auch feststellen welcher Button das Ereignis ausgelöst hat?
-
Über die ID des Buttons...
-
Und wie kann ich die ID im Ereigenishandler feststellen?
Könntest Du mir evtl. die paar Zeilen Code posten?
-
Achso es handelt sich um Windows-Forms...da bin ich leider nicht so fit drin
entschuldigung
-
Nee, schon MFC.
Also ich hab so getan:
BEGIN_MESSAGE_MAP(CMyDialog, CDialog) ... ... ON_BN_CLICKED(IDC_BUTTON_LOAD, &CMyDialog::OnBnClickedAllFunctionButtons) ON_BN_CLICKED(IDC_BUTTON_STORE, &CMyDialog::OnBnClickedAllFunctionButtons) ON_BN_CLICKED(IDC_BUTTON_PRINT, &CMyDialog::OnBnClickedAllFunctionButtons) ON_BN_CLICKED(IDC_BUTTON_NEW, &CMyDialog::OnBnClickedAllFunctionButtons) END_MESSAGE_MAP() ... ... void CMyDialog::OnBnClickedAllFunctionButtons() { // TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein. }
So, nun wird bei allen Buttons die Routine aufgerufen. Nun möchte ich aber unter Umständen abhängig vom gedrückten Button mit switch oder if then else verzweigen und unterschiedlichen Code ausführen...
Nur was ist das Argument für meine switch bzw. if then else???
-
Verwende ON_COMMAND_EX...
http://msdn.microsoft.com/en-us/library/ms175602(VS.80).aspx
http://msdn.microsoft.com/en-us/library/aa267978(VS.60).aspx