![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Ne1tr1n0 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 1.3.2009 Репутация: 6 Всего: 8 |
Добрый день!
Собственно вопрос в заголовке. Дело в том, что в XP цвет шрифта выделенного итема по умолчанию сменяется на clHighlightText (и таким образом он нормально виден на фоне синего выделения), а в семерке, со включенным Aero и в упрощенном стиле фон выделения намного бледнее, и цвет шрифта не изменяется (остается clWindowText). Я в событии OnAdvancedCustomDrawSubItem вывожу текст методом TextOut у канвы, но хотелось бы в зависимости от того, выделен итем или нет, менять цвет шрифта у канвы на нужный, а то не очень красиво получается. Вот и хотел узнать, как определить цвет шрифта выделенного итема. Сам пробовал - всегда пишет clWindowText, вне зависимости наличия cdsSelected в State, текущей темы винды и самой винды. Если надо, могу скриншоты привести текущего результата и желаемого. Спасибо. |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
а не проще ли плясать не от цвета выделенного итема, а от индекса выделенного итема? -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Ne1tr1n0 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 1.3.2009 Репутация: 6 Всего: 8 |
А что мне даст индекс? У меня ListView не раскрашенный какой-то, просто надо в одном из сабитемов помимо текста выводить картинку. А в остальном должен быть тот же листвью с отрисовкой по дефолту.
Пока получается так: Windows 7 Windows XP Хотелось бы так: Windows 7 Windows XP Неправильно ведет себя крайний правый столбец. Если просто менять цвет черный на белый если выделен итем, то некрасиво получается в семерке, а если оставлять как есть (всегда черный), то в XP некрасиво выглядит. |
|||
|
||||
Ne1tr1n0 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 1.3.2009 Репутация: 6 Всего: 8 |
Пробовал ещё добавлять непосредственно текст в сабитем (в SubItems.Add который), при этом оставив место для картинки. Получается то, что нужно, но при ресайзе колонки всё получается совсем не так как хотелось бы. Но ресайз боюсь это отдельная тема для разговора.
|
|||
|
||||
Alexx82 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.9.2011 Репутация: нет Всего: нет |
Как вариант можно определить под какой системой запущена программа, а потом менять цвета. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |