|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.02.2014, 13:07 | #21 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Код:
Это со стилем CBS_OWNERDRAWFIXED. Последний раз редактировалось BLACK_RAIN; 26.02.2014 в 13:09. |
26.02.2014, 15:49 | #22 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Прочитайте описание структуры DRAWITEMSTRUCT - ваш обработчик абсолютно неправилен.
Возможно вникнув почему называется WM_DRAWITEM станет понятней. |
26.02.2014, 16:23 | #23 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Выходит, код по моей ссылке неправильный? Я же по нему это писал.
натолкните на мысль. Если использовать CBS_OWNERDRAWVARIABLE, то сообщение приходит для каждого элемента и они обрабатываются отдельно. Не пойму, что я упустил? Последний раз редактировалось BLACK_RAIN; 26.02.2014 в 16:31. |
26.02.2014, 16:55 | #24 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
WM_DRAWITEM всегда приходит для каждого элемента, при использовании CBS_DROPDOWNLIST - даже для места, где обычно находится edit box.
При CBS_OWNERDRAWVARIABLE приходит и WM_MEASUREITEM. |
27.02.2014, 09:16 | #25 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
waleri
Cейчас попробую переписать точь в точь по MSDN и посмотрю, будет работать или нет. |
27.02.2014, 10:54 | #26 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Всё получилось!
Но теперь я не пойму, как получить индекс комбо, чтобы сравнить его с itemID. CB_GETCURSEL возвращает индекс элемента, который находится под курсором, а не выбранный индекс комбо. Полагаю, что можно брать текст из комбо и сравнивать его с текстом элемента. Если они совпали - менять цвет. Но это как-то стрёмно выглядит. Есть ли более правильное решение? |
27.02.2014, 13:09 | #27 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
А это зачем?
Если то, о чем я думаю, то для этого есть itemState и itemAction. |
27.02.2014, 14:41 | #28 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Чтобы выбранный айтем отображался в списке другим цветом или еще как-то выделялся. В данный момент, это не важно. Но на будущее, хотелось бы сразу прояснить этот момент.
Я тоже так думал и с ними плясал, но не выходит. Айтемы либо все красные, либо все чёрные, либо меняют цвет при движении мыши. Я не понял, что с чем нужно сравнивать (смотрел в MSDN список возможных значений). Код:
|
27.02.2014, 15:43 | #29 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Всё, спасибо, разобрался!
Немного не так, как хотел, но работает. |
27.02.2014, 17:23 | #30 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Я повторюсь, для этого есть itemState и itemAction... но как знаете...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Форма. Выпадающий список | SNkMaster | HTML и CSS | 13 | 15.03.2010 15:02 |
Выпадающий список | Акашаев Нурлан | Общие вопросы Delphi | 3 | 27.06.2008 16:58 |
Выпадающий список в таблице БД | Antowka | БД в Delphi | 14 | 28.05.2008 15:18 |
выпадающий список | SunKnight | БД в Delphi | 1 | 24.03.2008 22:44 |
выпадающий список | Toxa | Microsoft Office Excel | 2 | 23.04.2007 09:40 |