Re: узнать количество колонок в ListView c LVS_REPORT стилем
От:
Аноним
Дата:
21.09.06 04:42
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Как можно узнать количество колонок в ListView (c LVS_REPORT стилем)?
Ну такие вопросы... лентяй!!!
Иди в MSDN и ищи там сообщения для элемента ListView, далее одно (не помню, какое) из них через SendMessage (...) шлёшь контролу, в ответ получаешь то, что нужно.
Re: узнать количество колонок в ListView c LVS_REPORT стилем
Упс, поторопился. 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 сти
Здравствуйте, Аноним, Вы писали:
А>А если лист с 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 сти
Здравствуйте, Аноним, Вы писали:
А>Всё равно через то самое место: 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 была бы действительно полной — не было бы таких форумов как этот.