我使用wxWidgets和EVT_BUTTON makro来管理哪些按钮调用哪些功能。
我现在想要做的是让两个不同的按钮使用不同的参数调用相同的函数,以便可以执行稍微不同的操作而无需复制大量代码。
另外一种可能性不是调用带参数的函数,而是在输入函数后以某种方式进行分离,但我无法在事件对象中找到任何有用的信息。
目前它看起来像这样:
我有一个ID {1} wxButton
。
我有功能
void Test::Function(wxCommandEvent& event) {
DoStuff;
}
我还有wxWidgets-makro EVT_BUTTON(1,Test::Function)
,当我按下ID 1按钮时,它会调用我的功能。
我想要的是我有两个ID为1和2的按钮,它们都会导致相同的功能,并且我可以在功能内部区分它们,例如
void Test::Function(wxCommandEvent& event) {
if (event.comesFromtButton1) { //how to realize this is basically my question
doButton1Stuff;
} else {
doButton2Stuff;
}
}
答案 0 :(得分:2)
将Test::Function
与ID 1
和ID 2
联系起来。在事件处理程序内部将event.GetId()
与ID 1
和ID 2
进行比较。