Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > DevExpress Bars скинирование TdxRibbon


Автор: execoma 23.1.2011, 15:29
Здравствуйте! Есть задача скинирования TdxRibbon путем установки свойства ColorSchemeName. В качестве вариантов установки предлагается большое количество скинов (в выпадающем списке), в design-time отрисовываются все скины. Однако в run-time возможно использование только Blue, Silver, Black (все остальные варианты скинируются как Blue). Я предположил, что дело в том, что скины должны быть интегрированны в проект и разместил на форме TdxSkinController, где включил все скины. В результате в программу были добавлены соответствующие диррективы:

Unit1.h
#include "dxSkinCaramel.hpp"
#include "dxSkinCoffee.hpp"
#include "dxSkinDarkRoom.hpp"
#include "dxSkinDarkSide.hpp"
#include "dxSkinFoggy.hpp"
#include "dxSkinGlassOceans.hpp"
и т.д...

Unit1.cpp
#pragma link "dxSkinBlack"
#pragma link "dxSkinBlue"
#pragma link "dxSkinCaramel"
#pragma link "dxSkinCoffee"
#pragma link "dxSkinDarkRoom"
#pragma link "dxSkinDarkSide"
#pragma link "dxSkinFoggy"
и т.д...

Однако это не помоголо. После в TdxBarManager я установил в LookAndFeel разные параметры, но ничего не помогло :( Все равно скинирование возможно только для Blue, Silver, Black, а мне требуется Office2010Blue...

Автор: A5uKa 24.1.2011, 16:45
В AlphaControls с этим проще, но предположу, что и тут должен быть реализована список на уровне GUI. 

В первом было что-то вроде inhereted skins листа в Skin Manager компоненте.

Автор: execoma 7.4.2011, 23:10
Я делаю следующие:

1. В Delphi XE создаю VCL Forms Application.
2. Кидаю TdxBarManager, TdxRibbon, TdxSkinController.
3. В dxSkinController1 выставляю SkinName = Office2010Blue.
4. В dxRibbon1 выставляю ColorSchemeName = Office2010Blue.
5. В USES добавляю dxSkinsdxRibbonPainter.
6. Компилирую F9.
7. Появляется окно Project Skin Options Editor -> Ok.

Результат: все ОК.

Далее...

1. В Builder XE создаю VCL Forms Application.
2. Кидаю TdxBarManager, TdxRibbon, TdxSkinController.
3. В dxSkinController1 выставляю SkinName = Office2010Blue.
4. В dxRibbon1 выставляю ColorSchemeName = Office2010Blue.
(в design-time все ок)
5. В Form1.h добавляю #include "dxSkinsdxRibbonPainter.hpp"
6. Компилирую F9.
7. Появляется окно Project Skin Options Editor -> Ok.
Результат (run-time): Form заскинировалась, но Ribbon имеет стандартную тему Blue (2007).


Справка "How to Apply Skins in the Application" не помогла мне. Что я делаю не так? Похоже на баг.

ExrpressBars - v6.55. ExpressSkins - v1.55

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)