mehrere Buttons sollen eine Funktion starten
-
Ich möchte bei dem Ereigniss BN_CLICKED der aufgerufenen Funkion Onblabla noch eine Variable mit übergeben, und die soll abhängig vom Button sein.
(Möchte mit verschiedenen Buttons die selbe Funktion starten, bloss mit verschiedenen Parametern und nicht für jeden Button extra die Ereignisfunktion anlegen.)Wie?
Irgendwie muss ich wohl die IDC oder die member-variable des Buttons da mit reinbringen, aber keinen Plan.
-
Warum noch eine extra Variable übergeben? Für doch noch eine Funktion (mit deinen Parametern) ein, welche durch OnButtonClicked() aufgerufen wird.
Wie willst du mit einem Buttonclick eine Variable übergeben
?
-
Ich glaub er mein das so:
void CIrgendwas::MeineFunktion(int nCouter); { // Mach irgendwas } void CIrgendwa::OnButton1Click() { int uebergabewert = 1; MeineFunktion(uebergabewert); } void CIrgendwa::OnButton2Click() { int uebergabewert = 2; MeineFunktion(uebergabewert); }
-
Du kannst das wie folgt machen:
a) du resevierst die CtrlID's der Buttons sequentiell (also z.B. 101, 102, 103, 104, ...)
In die Message Map trägst du ein macro ON_COMMAND_RANGE ein:ON_COMMAND_RANGE( id_button1, idbuttonN, memberFxn )
memberFxn wird deklariert als:
afx_msg void CMainFrame::OnButtons(UINT nID)
ID ist dabei der ID des geclickten Butons
-
Danke, genau das was ich brauchte
