Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

опять Builder C++ 6 и XP стиль

590
03 августа 2007 года
Gigahard
223 / / 03.04.2006
Есть такая проблема, что при добавлении ресурса с манифестом, не все контролы приобретают XP стиль, что по всей видимости говорит о том, что некоторые из них сделаны не средствами API а борландовскими аналогами, к примеру GroupBox. Но Groupbox это пол беды, в принципе я как нить проживу без скругленных рамочек с синими заголовками... Хотя конечно хотелось бы и их в наборе компонентов иметь...
Но гемор начинается даже с такими казалось бы примитивными компонентами как Label. При создании Label'у присваивается некий фиксированый цвет, который конечно в разных условиях не соответствует цвету фона на котором этот Label расположен.
Фон формы использует системную палитру цветов. Собственно как вытянуть переменную отвечающую за цвет формы или компонента, на котором расположен Label, чтобы присвоить ее значение фону Label?

Или может есть более простой способ решения проблемы?
2.1K
06 августа 2007 года
mainigor
151 / / 21.10.2005
this->Color - это цвет формы

если он например clBtnFace то это поддерживается стилем.
Вообще по-моему поддерживают XP - style только компоненты относящиеся к Common Controls. Label тоже должен поддерживаться (у меня поддерживается ;) )
чтобы он поддерживался не делай цвета clBlack, clRed , а как по умолчанию clButtonFace или что-то в этом духе.
590
07 августа 2007 года
Gigahard
223 / / 03.04.2006
Вопрос скорее не в том, как узнать цвет формы. В конце концов, компонент может размещаться не только на форме, но и на другом контроле.

То что стиль XP поддерживают только те билдеровские компоненты, которые являются обертками родных виндовых Common Controls я знаю...
Вопрос в том, как адаптировать билдеровские компоненты, тот же GroupBox. К примеру в случае с label, решением оказалось переключения флага прозрачности в true.
Однако к примеру Static text прозрачности не имеет и там возникает тот же косяк.

Использование clBtnFace не надежно, т.к. судя по названию, отвечает за цвет кнопок. А цвет кнопки и цвет фона контрола в разных цветовых темах могут быть разными.

Собственно задача тут состоит в том, чтоб добраться до информации о текущей системной цветовой схеме. Только вот как?
590
08 августа 2007 года
Gigahard
223 / / 03.04.2006
Наконец нагуглил уже кое что... http://www.akzhan.midi.ru/devcorner/articles/Windows%20Visual%20Styles%20(Themes)%20API%20Support%20in%20Your%20controls.htm

Но в статье идет в основном дельфевый код, в котором я ни бум бум. В общем, не подскажит ли уважаемый All еще какие нибудь статьи или туториалы аналогичные приведенной в ссылке, но на С/С++.
З.Ы. msdn и ссылки приведенные в статье, подсказывать не надо :)
590
10 августа 2007 года
Gigahard
223 / / 03.04.2006
Еще один баг связанный с использованием манифеста...
Контрол StatusBar ведет себя не корректно. При ресайзе формы, он как то по кривому перерисовывается.
Вот приложил тестовый проект.
Можно ли вообще данный глюк победить?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог