scroll в ListView

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

scroll в ListView

Сообщение iolaus » 31.08.2004 (Вт) 20:32

Народ как програмно скролировать окно компонена ListView????
при том что стоит flatscrollbar (то есть самих скролов не видно)...
помогите...
This message will self destruct in five seconds!!!

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

Сообщение Alexanbar » 31.08.2004 (Вт) 21:08

Отсылкой сообщения LVM_SCROLL с помощью ф-ции SendMessage

Public Const LVM_SCROLL = 4116
Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Вот что пишут в Microsoft:Scrolls the content of a list-view control. You can send this message explicitly or by using the ListView_Scroll macro.

Syntax


To send this message, call the SendMessage function as follows.
lResult = SendMessage( // returns LRESULT in lResult (HWND) hWndControl, // handle to destination control (UINT) LVM_SCROLL, // message ID (WPARAM) wParam, // = (WPARAM) (int) dx; (LPARAM) lParam // = (LPARAM) (int) dy; );
Parameters

dx
Value of type int that specifies the amount of horizontal scrolling in pixels. If the list-view control is in list-view, this value specifies the number of columns to scroll.
dy
Value of type int that specifies the amount of vertical scrolling in pixels.
Return Value

Returns TRUE if successful, or FALSE otherwise.



Remarks

When the list-view control is in report view, the control can only be scrolled vertically in whole line increments. Therefore, the dy parameter will be rounded to the nearest number of pixels that form a whole line increment. For example, if the height of a line is 16 pixels and 8 is passed for dy, the list will be scrolled by 16 pixels (1 line). If 7 is passed for dy, the list will be scrolled 0 pixels (0 lines).

iolaus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 19.03.2002 (Вт) 18:33
Откуда: Москва

Сообщение iolaus » 31.08.2004 (Вт) 22:10

понял, а как скролить обратно???, а то у меня только вниз получается...
This message will self destruct in five seconds!!!

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

Сообщение GSerg » 31.08.2004 (Вт) 22:15

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

iolaus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 19.03.2002 (Вт) 18:33
Откуда: Москва

Сообщение iolaus » 31.08.2004 (Вт) 22:33

не выходит с отрицательными:

SendMessage ListMas(1).hWnd, LVM_SCROLL, 0, lngP

где lngP разные числа....

у он скролится сразу к концу, а не по чуть-чуть, хотя lngP<10

мне надо вертикальный скрол... а он даже при 0 перескакивает в конец, а вот с горизонтальным все в порядке...

почему???
This message will self destruct in five seconds!!!

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

Сообщение GSerg » 31.08.2004 (Вт) 22:47

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

iolaus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 19.03.2002 (Вт) 18:33
Откуда: Москва

Сообщение iolaus » 31.08.2004 (Вт) 22:59

точно спасибо!
This message will self destruct in five seconds!!!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

    TopList