我一直在浏览在线文档,但我找不到在运行时更新按钮或标签图像的方法。我试图在按钮布局中显示缩略图。缩略图需要根据可用的图像进行更新,同时保持布局。
例如,我有一个带有“上一页”按钮的布局,三个显示缩略图的按钮和一个“下一步”按钮,当用户点击“下一步”时,三个按钮会改变以显示下三个缩略图。它们需要是按钮,以允许Normal,Hover,Pushed鼠标交互。因此,当用户单击缩略图时,该图像将触发该操作。
感谢任何帮助。
答案 0 :(得分:0)
我找到了我想要的答案。在looknfeel文件中我定义了一个属性:" BackgroundImage"类型"图像"
<WidgetLook name="MyLook/Thumbnail">
<Property name="CursorImage" value="MyImageSet/cursorOn" />
<Property name="CursorPassThroughEnabled" value="true" />
<PropertyDefinition name="BackgroundImage" redrawOnWrite="true" initialValue="MyImageSet/defaultImage" type="Image"/>
<Property name="Size" value="{{1, 0}, {1, 0}}" />
<ImagerySection name="frame">
<FrameComponent>
<ImageProperty name="BackgroundImage" />
<VertFormat type="Stretched" />
<HorzFormat type="Stretched" />
</FrameComponent>
</ImagerySection>
<StateImagery name="Enabled">
<Layer>
<Section section="frame" />
</Layer>
</StateImagery>
</WidgetLook>
然后在代码中我使用定义的属性设置图像:
CEGUI::DefaultWindow* thumbnail = static_cast<CEGUI::DefaultWindow*>( parrentWindow->getChild( "Thunbnail_1" ));
thumbnail->setProperty( "BackgroundImage", "MyImageSet/movieClipIcon" );