LictView и API

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

LictView и API

Сообщение Twister » 02.12.2005 (Пт) 10:25

Вопрос такой: как с помощью API установить верхний элемент в ListView (вид как таблица - Report) (LB_SETTOPINDEX не срабатывает)...
А я все практикую лечение травами...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.12.2005 (Пт) 10:37

А зачем API? EnsureVisible не кошерно?
Lasciate ogni speranza, voi ch'entrate.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 02.12.2005 (Пт) 12:19

Не на БАСИКЕ пишу, alibek!
А я все практикую лечение травами...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.12.2005 (Пт) 12:51

Ну и что? COM не зависит от используемого языка.
Lasciate ogni speranza, voi ch'entrate.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 02.12.2005 (Пт) 13:18

Алибек, е-мае! Ну не буду я на АСМе писать поддержку COM! Мне просто нужно узнать, какое сообщение отправить окну ListView, чтоб установить определенный его элемент в верхнюю позицию. И ВСЕ!
А я все практикую лечение травами...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 02.12.2005 (Пт) 17:15

И все-ж - кто может конкретно ответитть по этому вопросу:

О! Мне как раз почти то-же самое понадобилось - чуть изменю вопрос (чтобы понятней было):

Сортирую ListView (из VB6) с использованием API (так как нужна сортировка по дате):

SendMessageLong lv.Hwnd, LM_SORTITEMS, SortOrder, AddressOf CompareC

Сортируется все так как надо.
А вот как мне узнать какой ListItem оказался самым верхним после сортировки??? Чтобы сделать для него SelectItem... :?:
Последний раз редактировалось Andrey Fedorov 02.12.2005 (Пт) 17:58, всего редактировалось 1 раз.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.12.2005 (Пт) 17:32

Интересно, почему человек шлёт сообщение от листбокса и удивляется, что оно не работает...
LVM_ENSUREVISIBLE?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 02.12.2005 (Пт) 19:02

Хм. Видимо, все-таки LVM_SCROLL, т.к. EnsureVisible не гарантирует, что искомая строка будет первой сверху. Правда, придется немного посчитать тогда, для начала.

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

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 02.12.2005 (Пт) 23:36

У Listview есть метод GetFirstVisible, и, по-моему, есть и соответствующее сообщение.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 03.12.2005 (Сб) 0:10

Alexanbar писал(а):У Listview есть метод GetFirstVisible, и, по-моему, есть и соответствующее сообщение.

Есть - LWM_GETTOPINDEX. А вот аналогичного LWM_SET... - нема. Потому я и предложил сначала считать, куда крутить, а потом крутить.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 03.12.2005 (Сб) 11:37

GSerg писал(а):Интересно, почему человек шлёт сообщение от листбокса и удивляется, что оно не работает...
LVM_ENSUREVISIBLE?

Да собственно я и не удивился, что оно не работает...
Просто нужно было же с чего-то начать эксперементировать.
Всем сапасибо за ответы, пойду пробовать.
А я все практикую лечение травами...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot] и гости: 192

    TopList  
cron