MyGUI EditBox 字符修改事件监听教程
可以使用 MyGUI 提供的事件管理器来监听 EditBox 的字符修改事件,具体步骤如下:
-
获取 EditBox 控件对象,可以通过
MyGUI::LayoutManager::getInstance().findWidget<MyGUI::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/omzy 著作权归作者所有。请勿转载和采集!