Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Синхронизация двух ListView
|
|||
|---|---|---|---|
|
#18+
Всё вроде понятно, кроме: 1. Как отловить событие скролла? Ну, может быть через сабклассинг отловлю. Тогда: 2. Как передать это событие на второй контрол? Или вместо этого: Как узнать свойство типа TopItem первого ListView и задать его второму? Ткните куда-нибудь. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2009, 12:26 |
|
||
|
Синхронизация двух ListView
|
|||
|---|---|---|---|
|
#18+
По синхронизации двух листвью нашел недурной пример: http://vbnet.mvps.org/index.html?code/subclass/lvscrollbars.htm Но не все там устраивает. Как тупо установить GetFirstVisible? Он только на чтение. Какой сендмессеж послать, чтобы листвью встал в нужную позицию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2009, 15:26 |
|
||
|
Синхронизация двух ListView
|
|||
|---|---|---|---|
|
#18+
EnsureVisible просто показывает элемент в видимой области, но это не гарантирует того, что нужный мне элемент будет верхним в этой области. Я же хочу добиться, чтобы FirstVisible обоих контролов был одинаковым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2009, 15:50 |
|
||
|
Синхронизация двух ListView
|
|||
|---|---|---|---|
|
#18+
Не вижу проблемы. Если нужный элемент уехал наверх, то достаточно сделать EnsureVisible ему. Если вниз, нужно рассчитать, столько строк помещается в ListView, прибавить это число к индексу нужного элемента и сделать видимым элемент с индексом равным этому числу. Иногда решений в духе "сделать зашибись" не существует, тренируйте мозг. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2009, 16:36 |
|
||
|
Синхронизация двух ListView
|
|||
|---|---|---|---|
|
#18+
Antonariyтренируйте мозг.Глупость какая звучит, когда нечего ответить. Я сообщу Джуджу А про EnsureVisible я уже сказал, нигде не написано, что это гарантирует выставление правильной позиции. Гарантируется только, что итем окажется в видимой области. Фик его знает, может я буду подразумевать, что произойдет подвижка на одну линию, а винда прокрутит полэкрана... Должно же быть изящное решение, а не такое топорное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2009, 19:37 |
|
||
|
Синхронизация двух ListView
|
|||
|---|---|---|---|
|
#18+
Вы на форум за советом пришли или блеснуть объемом прочитанного? Гарантирую, если искомый айтем уехал наверх, то при EnsureVisible он станет самым верхним, если вниз - самым нижним, random при этом не используется. Остальное дело техники. . Предложенное мной решение самое простое и проверенное по крайней мере для lvwReport. Для других режимов формулы другие. А Джуджу только и делать нечего, как анонимусам сопли вытирать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2009, 23:56 |
|
||
|
Синхронизация двух ListView
|
|||
|---|---|---|---|
|
#18+
Кароче, вот самое простое решение, пишу, если кто сюда зайдет: Код: plaintext hItem - высота итема в пикселах, можно взять из какого-нибудь LISTINFO, либо посмотреть в фотошопе , у меня для шрифта 8pt получилось 14 пикселей. Кстати, еще: В сабклассинге лучше отлавливать не WM_VSCROLL и WM_WHEEL, а uMsg = 78, не знаю, что это за константа, выловил в дебаге.принт. Тогда синхронизация будет происходить не по отпусканию кнопки мыши, а сразу, что особенно хорошо видно при перетаскивании мышью бегунка. Кроме того отлавливаются и перемещения по итемам с помощью клавиатуры. Всем приятного просмотра. Ура, товарищи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2009, 11:57 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36303424&tid=2160423]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 125ms |

| 0 / 0 |
