Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Выделение строки в ListView с иконкой


Автор: pseudor 27.8.2007, 19:42
При выделении строки в ListView, у которого есть колонки, проблема с выделением строки - в той колонке где есть иконка, не вся площадь выделена системным цветом выделения. Поэтому если перетащить такую колонку на середину, то получается, что при выделении строка как бы разорвана. Как с таким справиться?

Вот картинка:
http://img300.imageshack.us/img300/9030/63126613or1.jpg

Автор: pseudor 27.8.2007, 20:56
Прошу прощения. дело не в картинке - любая первая колонка, с текстом или с картинкой, создаёт разрыв. если её перетянуть в середину.

Автор: zkv 27.8.2007, 21:28
pseudor, попытался воссоздать твою проблему, не получилось - все работает корректно.
брал сэмпл RowList, добавил стиль LVS_EX_HEADERDRAGDROP, и немного изменил функцию перерисовки, добавил:
Код

    CRect rect;
    GetClientRect( rect );
    rcAllLabels.right = rect.right;
    rcAllLabels.left = 0;

перед прорисовкой выделения.

Автор: pseudor 28.8.2007, 09:40
А можно взглянуть, как ты элементы добавлял? И на всю целую фукнцию перерисовки.

Автор: zkv 28.8.2007, 09:56
Цитата(pseudor @  28.8.2007,  09:40 Найти цитируемый пост)
А можно взглянуть, как ты элементы добавлял? И на всю целую фукнцию перерисовки. 


Цитата(zkv @  27.8.2007,  21:28 Найти цитируемый пост)
брал сэмпл RowList

его http://msdn2.microsoft.com/en-us/library/td9sa246(VS.80).aspx можно взять

Автор: pseudor 28.8.2007, 10:23
Дело в том, что я с WTL это всё делаю. 

Автор: pseudor 28.8.2007, 12:24
Есть в MSDN пример для WTL, как это делается?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)