TechnoDreamer
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору GuSoft2007 Цитата: Можно подробнее? В каком событии она активной становится? или ее надо отдельно создавать, загружать скин и смотреть? Или можно както из текущего скина достать? например цвет текста окна? | Я скины динамически подгружаю, можно и из текущего. Код: // Создаем список доступных скинов dxSkinsPopulateSkinResources(HInstance, AResNameList, ASkinNameList); //AResNameList, ASkinNameList это стринглисты //так выглядит загрузка выбранного юзером скина var AIndex: Integer; ASkinName: string; AResourceStream: TResourceStream; APainter: TcxCustomLookAndFeelPainterClass; APainterInfo: TdxSkinLookAndFeelPainterInfo; ASkin: TdxSkin; AResourceStream := TResourceStream.Create(HInstance, AResNameList[AIndex], PChar(sdxResourceType)); try dxSkinsUserSkinLoadFromStream(AResourceStream, ASkinName); finally AResourceStream.Free; end; if GetExtendedStylePainters().GetPainterByName(dxSkinController.SkinName, APainter) then begin GetExtendedStylePainters().GetPainterData(APainter, APainterInfo); ASkin := APainterInfo.Skin; //Далее забираем нужные нам переменные, названия можно посмотреть в редакторе скинов, там же можно добавить и свои. OddColor := ASkin.GetColorByName('ContentOddColor').Value; EvenColor := ASkin.GetColorByName('ContentEvenColor').Value; ContentTextColor := ASkin.GetColorByName('ContentTextColor').Value; ContentColor := ASkin.GetColorByName('ContentColor').Value; ContainerBorderColor := ASkin.GetColorByName('ContainerBorderColor').Value; BackgroundTextColor := ASkin.GetColorByName('HeaderBackgroundTextColor').Value; end; |
| Всего записей: 259 | Зарегистр. 01-06-2008 | Отправлено: 00:45 15-02-2011 | Исправлено: TechnoDreamer, 00:47 15-02-2011 |
|