Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.133.149.168] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте!
Общая задача - сделать выбор цветов для рисования различных элементов в своей программе. Решил сделать как во вкладке Environment / Fonts and Colors в опциях Microsoft Visual Studio - существует ComboBox, каждый его элемент содержит рисунок и текст, а именно маленькую картинку с цветом и текстовую строку с именем этого цвета. Выбрал CComboBoxEx, т.к. в него можно штатным способом запихать картинки. Создал CImageList, добавляю элементы функцией InsertItem. Все работает отлично, но есть одна раздражающая вещь - если фокус на ComboBox (что всегда случается при выборе элемента), то, как и должно, текущий элемент как-то выделяется, фон его текста становится синим. Это отлично, но и картинка при этом изменяется, и уже не увидишь, какой цвет! Примеры, когда на ComboBox есть фокус и нет - в картинках. Прикреплённая картинка
Прикреплённая картинка
Вопрос - можно ли как-то по простому сделать так, чтобы рисунок элемента не менялся (менялся только фон текста)? Ведь в Visual Studio он не меняется! Можно, конечно, использовать ComboBox со стилем CBS_OWNERDRAWFIXED и самому все рисовать, но это потребует достаточных усилий. |