|
|
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
как сделать ListView с checkbox-ами? (обычный листвью создать могу, из commctrl, а вот как задать стиль с чекбоксами и обрабатывать нажатие и установку флажков...) Заранее пасиб! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2005, 02:49 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
Там есть специальный расширенный стиль для этого. Его нужно только установить. Посмотрите в MSDN, там все подробно расписано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2005, 22:53 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
Пасиб, нашёл LVS_EX_CHECKBOXES =) LVS_OWNERDATA - а где можно подробнее прочитать про виртуальный стиль List View, как и где используется? желательно на русском языке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 01:27 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
народ, а лучше подскажите где прочитать всё про листвью, который в Commctrl, почему в микрософте всё делают через... в мсдне(2kApril) есть мало инфы на эту тему,хотя и есть пример, но там вообще заполнение listview сделанно через WM_Notify! Плииз, помогите, нужна инфа про листвью,тривью,статусбар и про все остальное из commctrl.h, любые ссылочки, можно на мыло, если чего большое! ещё раз СПАСИБО! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 03:08 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listview/listview_overview.asp - нашёл! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 03:52 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
Да где ж там мало инфы ? Все в MSDN подробнейшим образом расписано. Только MSDN надо новый, от 2004 года как минимум. И про OWNERDATA тоже подробно есть. Если что не понятно конкретно - могу объяснить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 13:23 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
На счет -- где исползуется. Дело в том, что в обычном режиме выделение памяти под строки в ListView, которые он хранить - достаточно медленная опарация. Причем если в приложении эти данные уже храняться, то их "отображения" в ListView просто будут занимать лишнюю память. Вот в таком случае применяется режим OWNERDATA, когда ListView не хранит строчки каждой ячейки, а запрашивает их у приложения каждый раз, когда их надо отобразить или еще что-то с ними сделать (найти например). При этом чуть медленнее происходит отображение, зато серьезно быстрее происходит наполнение ListView элементами (при этом фактически приложение "говорит" ListView, что оно хочет, чтобы в нем было N элементов -- и все. Это происходит очень быстро) и не требуется дополнительная память под строки итемов и подитемов. Например, я вот использовал этот режим для создания грида для отображения набора данных из базы данных (типа как в Дельфе). Достигается высокая скорость наполнения грида и приемлемая скорость отображения (да на самом деле вообще тормозов не заметно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 13:35 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
На самом деле и в старом MSDNе достаточно информации на эту тему. Надо смотреть в разделе Platform SDK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2005, 21:36 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
to MasterZiv: сенкс =) существует ли компонент, подобный CheckedListBox в NET Framework Class Library или в том же VB6.0 (там стиль есть у обычного listboxa)? чтобы не приходилось организововать listview, только из-за одного столбца? вот нашёл подробную инфу на тему виртуального стиля listview: http://www.rsdn.ru/article/controls/virtlist.xml а вот новенькие вопросики, по мере исследования listview: 1) LVS_REPORT - только в нём можно сделать стиль с галочками и чтобы строчка была выделенна полностью по средствам LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES? 2)как при стиле LVS_LIST прокрутку сделать по вертикали и элементы, которые вылазиют за рамки listview добавлялись ниже, а не правее. 3) в LVS_REPORT вызвать автоматическое выравнивание ширины колонки\ок по содержимому? 4) сам пока не пробовал, но может быстрее кто ответит-как проверить где стоят галочки в листе и как их установить после заполнения листа на нужные элементы? вот, тем, кто будет разбираться: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 02:29 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
1) LVS_REPORT - только в нём можно сделать стиль с галочками и чтобы строчка была выделенна полностью по средствам LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES? LVS_EX_FULLROWSELECT естественно только в REPORT. LVS_EX_CHECKBOXES - по-моему не только в нем. Там есть state images, EX_CHECKBOXES реализовано за счет них. Поэтому во всех режимах, где state images показываются, EX_CHECKBOXES работает. Где показываются - во введении в ListView в MSDN. 2)как при стиле LVS_LIST прокрутку сделать по вертикали и элементы, которые вылазиют за рамки listview добавлялись ниже, а не правее. Не знаю. Подозреваю, что вы хотите странного, попробуйте режим small icons. 3) в LVS_REPORT вызвать автоматическое выравнивание ширины колонки\ок по содержимому? Есть сообщение LVM_SETCOLUMNWIDTH, у него есть специализированные параметры для этих целей. Только хочу пердупредить, что я обнаруживал баги в этой функциональности при работе в XP -style. 4) сам пока не пробовал, но может быстрее кто ответит-как проверить где стоят галочки в листе и как их установить после заполнения листа на нужные элементы? Прочитайте MSDN, там все написано. Есть специальные сообщения и их макросы-враперы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 11:12 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
to MasterZiv: пасиб! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 01:36 |
|
||
|
ListView in VC6.0
|
|||
|---|---|---|---|
|
#18+
Я делаю так: В виртуальном листе обрабатываю OnItemClick, делаю HitTest -> получаю Item(может это и излишне и можно найти Item из параметров вызова), Нахожу ассоциированный с ним объект, устанавливаюю свойство, скажем Checked в противоположное тому, что было. Весь фокус, на самом деле в обработчике события OnLvnGetDispInfo. Там я делаю следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 07:52 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33375172&tid=2032458]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 429ms |

| 0 / 0 |
