Здравствуйте.
Пишу приложение на ATL в VC6.
Как сделать так, чтобы в каждой строке определенной колонки ListView была кнопка?
И еще вопрос, как закрасить опреденную строку ListView определенным цветом?
Здравствуйте, Aleksey1978, Вы писали:
A>Здравствуйте.
A>Пишу приложение на ATL в VC6.
A>Как сделать так, чтобы в каждой строке определенной колонки ListView была кнопка?
только рисовать самому через LVS_OWNERDRAWFIXED
A>И еще вопрос, как закрасить опреденную строку ListView определенным цветом?
LVS_OWNERDRAWFIXED
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Aleksey1978, Вы писали:
A>Как сделать так, чтобы в каждой строке определенной колонки ListView была кнопка?
Можно попробовать взглянуть в сторону
PropertyGrid control и сделать "по аналоги".
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
Здравствуйте, homering07, Вы писали:
H>Здравствуйте, Константин Л., Вы писали:
КЛ>>Здравствуйте, Aleksey1978, Вы писали:
A>>>Здравствуйте.
A>>>Пишу приложение на ATL в VC6.
A>>>Как сделать так, чтобы в каждой строке определенной колонки ListView была кнопка?
КЛ>>только рисовать самому через LVS_OWNERDRAWFIXED
H>Зачем самому рисовать кнопку?
H>Можно сделать приблизительно так
H>// получить координаты нужной ячейки в которой дожна быть кнопка через GetSubItemRect(&rectSubItem)
H>CButton* pB = new CButton();
pB->>Create(m_hWnd, rectSubItem, styles)
H>Все!!!
H>Кнопка нарисуется сама + будут приходить нотификации от нее!!!
Угу, а потом листвью проскролят/потягают за хидер колонки/удалят несколько впередисоящих айтемов. И где окажется такая кнопка?

.
Я бы делал так: у листвью выставлял стиль LVS_EX_SUBITEMIMAGES, рисовал изображение кнопки как битмапу, заталкивал в имиджлист и в соответствующей колонке в качестве имиджа выдавал индекс изображения кнопки в имиджлисте. Ну нажатия на эту кнопку придется ловить самому (обрабатывать NM_CLICK от листвью). Проще по-моему не придумаешь.
Удачи. Заморачиваться с овнердрав стоит только в том случае, ежели хочешь, чтобы эта кнопка у тебя была не квадратная а непременно по размеру (возможно даже изменяющемуся за хидер) ячейки. Тут описаный мной способ не прокатит

. Но я бы сделал квадратную иконку в виде кнопки и не парился. Можно для пущей важности запретить изменение ширины этой колонки, чтобы выглядело все как надо.
Удачи