wxWidgets EVT_BUTTON 函数参数取决于事件来自哪里?
wxWidgets EVT_BUTTON function parameter depending on where event came from?
我正在使用 wxWidgets 和 EVT_BUTTON makro 来管理哪些按钮调用哪些功能。
我现在想做的是让两个不同的按钮使用不同的参数调用同一个函数,这样就可以在不重复大量代码的情况下执行略有不同的操作。
当然另一种可能是不调用带有参数的函数而是在函数进入后以某种方式进行分离,但我在事件对象中找不到任何有用的信息。
目前看起来是这样的:
我有一个 wxButton
,ID 为 1。
我有函数
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;
}
}
将 Test::Function
与 ID 1
和 ID 2
连接起来。在事件处理程序内部比较 event.GetId()
与 ID 1
和 ID 2
.
我正在使用 wxWidgets 和 EVT_BUTTON makro 来管理哪些按钮调用哪些功能。
我现在想做的是让两个不同的按钮使用不同的参数调用同一个函数,这样就可以在不重复大量代码的情况下执行略有不同的操作。
当然另一种可能是不调用带有参数的函数而是在函数进入后以某种方式进行分离,但我在事件对象中找不到任何有用的信息。
目前看起来是这样的:
我有一个 wxButton
,ID 为 1。
我有函数
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;
}
}
将 Test::Function
与 ID 1
和 ID 2
连接起来。在事件处理程序内部比较 event.GetId()
与 ID 1
和 ID 2
.