ListView auto enumeration
От: bizik  
Дата: 24.09.07 14:12
Оценка:
Привет всем!
Кто-нибудь знает, возможно ли заставить апишный ListView самостоятельно нумеровать строки.
Т.е., я указал бы колонку, которая содержала бы индекс относительно начала списка. При удалении из середины списка, индексы бы пересчитывались и отображались автоматически.

Или всё-таки это никак кроме как ручками сделать нельзя???
Re: ListView auto enumeration
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 24.09.07 14:48
Оценка:
Здравствуйте, bizik, Вы писали:

[]

B>Или всё-таки это никак кроме как ручками сделать нельзя???


А что — это так сложно сделать ручками? Кода там буквально несколько строк.
Re: ListView auto enumeration
От: McQwerty Россия  
Дата: 25.09.07 09:40
Оценка:
Здравствуйте, bizik, Вы писали:

B>Привет всем!

B>Кто-нибудь знает, возможно ли заставить апишный ListView самостоятельно нумеровать строки.
B>Т.е., я указал бы колонку, которая содержала бы индекс относительно начала списка. При удалении из середины списка, индексы бы пересчитывались и отображались автоматически.

B>Или всё-таки это никак кроме как ручками сделать нельзя???


Custom draw для этой колонки? Номер элемента (строки) приходит....
Re: ListView auto enumeration
От: Vector Россия  
Дата: 26.09.07 07:36
Оценка: +1
Здравствуйте, bizik, Вы писали:

B>Привет всем!

B>Кто-нибудь знает, возможно ли заставить апишный ListView самостоятельно нумеровать строки.
B>Т.е., я указал бы колонку, которая содержала бы индекс относительно начала списка. При удалении из середины списка, индексы бы пересчитывались и отображались автоматически.

B>Или всё-таки это никак кроме как ручками сделать нельзя???


При добавлении строки для данной колонки в pszText указать LPSTR_TEXTCALLBACK.
В LVN_GETDISPINFO придет номер строки.

Код обработчика LVN_GETDISPINFO:

NMLVDISPINFO *pdi = (NMLVDISPINFO*)lParam
if (pdi->item.mask & LVIF_TEXT)
    wsprintf(pdi->item.pszText, "%d", pdi->item.iItem);
Re[2]: ListView auto enumeration
От: bizik  
Дата: 27.09.07 07:53
Оценка:
Здравствуйте, Vector, Вы писали:

V>При добавлении строки для данной колонки в pszText указать LPSTR_TEXTCALLBACK.

V>В LVN_GETDISPINFO придет номер строки.

V>Код обработчика LVN_GETDISPINFO:


V>
V>NMLVDISPINFO *pdi = (NMLVDISPINFO*)lParam
V>if (pdi->item.mask & LVIF_TEXT)
V>    wsprintf(pdi->item.pszText, "%d", pdi->item.iItem);
V>



спс. то что надо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.