|
是关于 cegui与osg结合后组建使用的问题
1:cegui和osg已经结合使用了 且一般组建都能正常使用
2:使用MultiLineEditBox出现了毛病
毛病:在一个按钮点击触发函数里
std::wstring wstrHazard = L"你妹\n的\n我草\0";
int wstrlength = wstrHazard.size();
int nbufflength = WideCharToMultiByte(CP_UTF8,NULL,wstrHazard.c_str(),wstrlength,NULL, 0, NULL, NULL);
char* buffHazard = new char[nbufflength+1];
WideCharToMultiByte(CP_UTF8, NULL, wstrHazard.c_str(), wstrlength, buffHazard, nbufflength, NULL, NULL);
buffHazard[nbufflength] = '\0';
CEGUI::String strEdit((CEGUI::utf8*)buffHazard);
WindowMagener::getsingle().getWindow("MultiLineEditBox的名字")->setText(strEdit)
出现的问题 当点击按钮后出错了 CEGUI.log里面有 OpenGLTextur::size too big。
3:但是当这个组建在初始化的时候这样使用以后 不会有问题
4:完了以后 我在osg的继承Drawable类的drawImplementation函数里 这样写能用WindowMagener::getsingle().getWindow("MultiLineEditBox的名字")->setText(strEdit)
strEdit是一个类变量 然后点击按钮函数以后 给该变量赋相应值,这样以后MultiLineEditBox能够显示字 但是有个问题
当字体过多的时候 MultiLineEditBox上的滚动条出现以后不能使用 必须的重新实现MultiLineEditBox组建上的滚动条相应的附属组建的事件
5:我想问问 是我的字体编码有问题 还是其他地方有问题呢。请各位帮我看看。谢谢 附上 在创建layout时候MultiLineEditBox的使用
<Window Type="WindowsLook/MultiLineEditbox" Name="ab" >
<Property Name="Font" Value="simhei" />
<Property Name="Text" >
</Property>
<Property Name="Alpha" Value="0.8" />
<Property Name="ReadOnly" Value="True" />
<Property Name="MaxTextLength" Value="1073741823" />
<Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
<Property Name="TextParsingEnabled" Value="False" />
</Window>
|
|