CEGUI изменить изображение кнопки во время выполнения

Я просматривал онлайн-документы и не нашел способа обновить изображение кнопки или ярлыка во время выполнения. Я пытаюсь отобразить эскизы в макете кнопок. Миниатюры нужно будет обновить в зависимости от того, какие изображения доступны, сохраняя макет.

Так, например, у меня есть макет с кнопкой «Назад», тремя кнопками для отображения миниатюр и кнопкой «Далее», когда пользователь нажимает «Далее», три кнопки меняются, чтобы показать следующие три миниатюры. Они должны быть кнопками, чтобы обеспечить нормальное, наведенное, нажатое взаимодействие с мышью. Поэтому, когда пользователь нажимает на миниатюру, на этом изображении запускается действие.

Любая помощь приветствуется.

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" );
0

Другие решения


По вопросам рекламы [email protected]