узнать количество колонок в ListView c LVS_REPORT стилем
От: Аноним  
Дата: 21.09.06 03:45
Оценка:
Как можно узнать количество колонок в ListView (c LVS_REPORT стилем)?
Re: узнать количество колонок в ListView c LVS_REPORT стилем
От: Privalov  
Дата: 21.09.06 04:41
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как можно узнать количество колонок в ListView (c LVS_REPORT стилем)?


LVM_GETITEMCOUNT
Re: узнать количество колонок в ListView c LVS_REPORT стилем
От: Аноним  
Дата: 21.09.06 04:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как можно узнать количество колонок в ListView (c LVS_REPORT стилем)?


Ну такие вопросы... лентяй!!!
Иди в MSDN и ищи там сообщения для элемента ListView, далее одно (не помню, какое) из них через SendMessage (...) шлёшь контролу, в ответ получаешь то, что нужно.
Re: узнать количество колонок в ListView c LVS_REPORT стилем
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 21.09.06 05:15
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Как можно узнать количество колонок в ListView (c LVS_REPORT стилем)?


LVM_GETHEADER + HDM_GETITEMCOUNT
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[2]: узнать количество колонок в ListView c LVS_REPORT сти
От: Privalov  
Дата: 21.09.06 05:32
Оценка:
P>LVM_GETITEMCOUNT

Упс, поторопился. LVM_GETHEADER, а затем еще что-то. А вообще, в MSDN все подробно написано.
Re[2]: узнать количество колонок в ListView c LVS_REPORT сти
От: Аноним  
Дата: 21.09.06 07:08
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

А>>Как можно узнать количество колонок в ListView (c LVS_REPORT стилем)?


SDB>LVM_GETHEADER + HDM_GETITEMCOUNT


А если лист с LVS_NOCOLUMNHEADER — будет работать? И почему через HEADER — мне нужны колонки в листе, а не айтемы в HEADER-е. А если в HEADER айтемы добавлены минуя добавление колонок в лист (а вдруг?). В общем, через HEADER — как-то через одно место, хочу из листа! Поэтому и вопрос.
Re[3]: узнать количество колонок в ListView c LVS_REPORT сти
От: Аноним  
Дата: 21.09.06 07:12
Оценка:
Здравствуйте, Privalov, Вы писали:


P>Упс, поторопился. LVM_GETHEADER, а затем еще что-то.

А если лист с LVS_NOCOLUMNHEADER — будет работать? И почему через HEADER — мне нужны колонки в листе, а не айтемы в HEADER-е. А если в HEADER айтемы добавлены минуя добавление колонок в лист (а вдруг?). В общем, через HEADER — как-то через одно место, хочу из листа! Поэтому и вопрос.

А вообще, в MSDN все подробно написано.
Это только так кажется.
Re[2]: узнать количество колонок в ListView c LVS_REPORT сти
От: Аноним  
Дата: 21.09.06 07:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ну такие вопросы... лентяй!!!

А>Иди в MSDN и ищи там сообщения для элемента ListView, далее одно (не помню, какое) из них через SendMessage (...) шлёшь контролу, в ответ получаешь то, что нужно.
No comments.
Re[3]: узнать количество колонок в ListView c LVS_REPORT сти
От: Аноним  
Дата: 21.09.06 07:18
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А если лист с LVS_NOCOLUMNHEADER — будет работать? И почему через HEADER — мне нужны колонки в листе, а не айтемы в HEADER-е. А если в HEADER айтемы добавлены минуя добавление колонок в лист (а вдруг?). В общем, через HEADER — как-то через одно место, хочу из листа! Поэтому и вопрос.

Кстати, удаление айтемов из хедера мне удалось (не удивительно), при этом колонки в листе вроде остались (тоже не удивительно) но стал он какой-то странный, мягко говоря. Вот меня сомнение и взяло — что же это за API, если информацию про одно надо из совсем другого места вытаскивать, и соответствие при этом вполне может быть нарушено.
Re[4]: узнать количество колонок в ListView c LVS_REPORT сти
От: Privalov  
Дата: 21.09.06 08:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А если лист с LVS_NOCOLUMNHEADER — будет работать? И почему через HEADER — мне нужны колонки в листе, а не айтемы в HEADER-е. А если в HEADER айтемы добавлены минуя добавление колонок в лист (а вдруг?). В общем, через HEADER — как-то через одно место, хочу из листа! Поэтому и вопрос.


Тогда через LVM_GETCOLUMN и/или LVM_GETCOLUMNORDERARRAY.

А>А вообще, в MSDN все подробно написано.

А>Это только так кажется.

Это если не читать.
Re[5]: узнать количество колонок в ListView c LVS_REPORT сти
От: Аноним  
Дата: 21.09.06 09:19
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Тогда через LVM_GETCOLUMN и/или LVM_GETCOLUMNORDERARRAY.

Всё равно через то самое место: LVM_GETCOLUMN должен вернуть ошибку при вызове с инвалидным индексом, но недостоверно, что ошибка бывла вызвана именно инвалидным индексом, а не чем нибудь другим и индекс всё же валиден. Ну а LVM_GETCOLUMNORDERARRAY вообще не будет работать в старых весиях common controls.
IMHO, через хеадер — и то лучше. Если лист имеет колонки и функционал для их добавления и удаления — не было ли бы логичным иметь возможность получить информацию о числе колонок прямо от него? А не от его хедера, который к тому же позволяет делать с собой что угодно независимо от состояния листа.

P>Это если не читать.

Как раз наоборот: пока не читаешь — "ого, сколько информациии", а как только что-то конкретное надо — ничего и нет.
Re[6]: узнать количество колонок в ListView c LVS_REPORT сти
От: Privalov  
Дата: 21.09.06 10:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Всё равно через то самое место: LVM_GETCOLUMN должен вернуть ошибку при вызове с инвалидным индексом, но недостоверно, что ошибка бывла вызвана именно инвалидным индексом, а не чем нибудь другим и индекс всё же валиден.


Ну дак выясни, чем отличается ошибка невалидного индекса от другой.

А>...Ну а LVM_GETCOLUMNORDERARRAY вообще не будет работать в старых весиях common controls.


Проверяй версию перед началом работы.

А>IMHO, через хеадер — и то лучше.


Вот видишь, определился все же...

А>...Если лист имеет колонки и функционал для их добавления и удаления — не было ли бы логичным иметь возможность получить информацию о числе колонок прямо от него? А не от его хедера, который к тому же позволяет делать с собой что угодно независимо от состояния листа.


Возможно. Но претензии предъявляй сам знаешь куда...

P>>Это если не читать.

А>Как раз наоборот: пока не читаешь — "ого, сколько информациии", а как только что-то конкретное надо — ничего и нет.

Про ListView таки вообще ничего нет?
Re[7]: узнать количество колонок в ListView c LVS_REPORT сти
От: Аноним  
Дата: 21.09.06 10:35
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Вот видишь, определился все же...

Так я и не терялся. Просто такой путь мне несколько странным кажется.

А>>...Если лист имеет колонки и функционал для их добавления и удаления — не было ли бы логичным иметь возможность получить информацию о числе колонок прямо от него? А не от его хедера, который к тому же позволяет делать с собой что угодно независимо от состояния листа.


P>Возможно. Но претензии предъявляй сам знаешь куда...

А что толку? Им, кстати говоря, и претензии некуда предъявлять — нету такой возможности.

P>>>Это если не читать.

А>>Как раз наоборот: пока не читаешь — "ого, сколько информациии", а как только что-то конкретное надо — ничего и нет.

P>Про ListView таки вообще ничего нет?

Кое чего есть. А по моему вопросу — нет, а то не задавал бы его здесь. Могли бы написать: "количество колонок в листе следует определять через задницу, пардон, через хедер — this is by design", а то иначе я сомневаюсь.

Если бы документация от Microsoft была бы действительно полной — не было бы таких форумов как этот.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.