mygui EditBox 字符修改的事件怎么监听
可以使用 MyGUI 提供的事件管理器来监听 EditBox 的字符修改事件,具体步骤如下:
-
获取 EditBox 控件对象,可以通过 MyGUI::LayoutManager::getInstance().findWidgetMyGUI::EditBox("EditBoxName") 来获取指定名称的 EditBox 控件对象。
-
使用 EditBox 控件对象的 getEventSender() 方法获取事件发送器对象。
-
使用事件发送器对象的 attachEvent() 方法来注册字符修改事件的监听器,监听器需要实现 MyGUI::delegates::EDelegate 类型的回调函数,回调函数的参数是一个 MyGUI::Widget* 类型的指针和一个 const MyGUI::UString& 类型的引用,分别表示触发事件的控件对象和修改后的字符串。
示例代码:
MyGUI::EditBox* editBox = MyGUI::LayoutManager::getInstance().findWidget<MyGUI::EditBox>("EditBoxName");
editBox->getEventSender()->attachEvent(MyGUI::EditBox::EVENT_TEXT_CHANGE, MyGUI::newDelegate(this, &MyClass::onEditBoxTextChanged));
void MyClass::onEditBoxTextChanged(MyGUI::Widget* _sender, const MyGUI::UString& _text)
{
// 处理字符修改事件
}
``
原文地址: https://www.cveoy.top/t/topic/fGSN 著作权归作者所有。请勿转载和采集!