本文整理汇总了C++中mygui::TextBox::setUserData方法的典型用法代码示例。如果您正苦于以下问题:C++ TextBox::setUserData方法的具体用法?C++ TextBox::setUserData怎么用?C++ TextBox::setUserData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mygui::TextBox
的用法示例。
在下文中一共展示了TextBox::setUserData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: add
/*向界面中加入数据相
*/
void SimpleDataUI::add( const MyGUI::UString& caption,SimpleData sd ){
MyGUI::TextBox* pt = mParent->createWidget<MyGUI::TextBox>(
"TextBox",MyGUI::IntCoord(),
MyGUI::Align::Left|MyGUI::Align::Top);
pt->setTextAlign( MyGUI::Align::Right );
pt->setCaption( caption );
pt->setUserData( MyGUI::Any(string("@")) ); //打一个标记为删除做准备
if( sd.type==SimpleData::BOOL ){
MyGUI::Button* pe = mParent->createWidget<MyGUI::Button>(
"CheckBox",MyGUI::IntCoord(),
MyGUI::Align::Left|MyGUI::Align::Top);
pe->setStateSelected(sd.b);
sd.change = mep;
pe->setUserData(MyGUI::Any(sd));
pe->eventMouseButtonClick += newDelegate(_simpleDataCheckChange);
}else if( sd.sv.empty() ){//编辑
MyGUI::EditBox* pe = mParent->createWidget<MyGUI::EditBox>(
"EditBox",MyGUI::IntCoord(),
MyGUI::Align::Left|MyGUI::Align::Top);
if( sd.type== SimpleData::STRING )
pe->setCaption( sd.str );
else if( sd.type== SimpleData::REAL)
{
pe->setCaption( (boost::format("%.2f")%sd.real).str() );
}
sd.change = mep;
pe->setUserData(MyGUI::Any(sd));
//数据改变
pe->eventEditTextChange += newDelegate(_simpleDataEditTextChange);
}else{//有可选数据
MyGUI::ComboBox* pc = mParent->createWidget<MyGUI::ComboBox>(
"ComboBox",MyGUI::IntCoord(),
MyGUI::Align::Left|MyGUI::Align::Top);
if( sd.type== SimpleData::STRING )
pc->setCaption( sd.str );
else if( sd.type== SimpleData::REAL )
pc->setCaption( boost::lexical_cast<string>(sd.real) );
for( vector<MyGUI::UString>::const_iterator i = sd.sv.begin();
i!=sd.sv.end();++i){
pc->addItem(*i);
if( *i == sd.str ){
if( sd.type== SimpleData::STRING )
pc->setEditStatic(true);
pc->setIndexSelected(i-sd.sv.begin());
}
}
sd.change = mep;
pc->setUserData(MyGUI::Any(sd));
//数据改变
pc->eventComboChangePosition += newDelegate(_simpleDataChange);
}
}