| Автор | Сообщение |
|
|
| |
Пост N: 400
Зарегистрирован: 03.12.08
|
|
Отправлено: 06.10.25 17:27. Заголовок: Как узнать , отображается (видим) элемент (контрол) или нет ,
Добрый день , коллеги . Может есть какая функция/метод как узнать , отображается (видим на экране) элемент (контрол) или нет . Есть панель со скроллингом . там расположены плитками элементы- IMAGE . Так вот хочу узнавать - есть ли нужный нам элемент в данный момент в видимой части . Соответственно , если он где-то за видимой границей - автоскроллируем чтоб он попал в видимую область . Или самому ручками всё -высчитывать ?
|
 |

|
|
Ответов - 9
[только новые]
|
|
|
|
| постоянный участник
|
Пост N: 8054
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.10.25 18:34. Заголовок: Не понятно ничего.....
Не понятно ничего... Хоть картинку бы положил. 
|
 |

|
|
|
| |
Пост N: 401
Зарегистрирован: 03.12.08
|
|
Отправлено: 07.10.25 11:39. Заголовок: https://i.postimg.cc..
|
 |

|
|
|
| постоянный участник
|
Пост N: 4826
Зарегистрирован: 17.02.12
|
|
Отправлено: 07.10.25 11:49. Заголовок: Softlog86 пишет хочу..
Softlog86 пишет | цитата: | | хочу узнавать - есть ли нужный нам элемент в данный момент в видимой части |
| А не проще, после выбора, отображать в правой части окна только нужное изображение и тексты, не формируя всю ленту изображений. Т.е. в памяти картинки только по выбранной строке, такую конструкцию можно соединить с timer и по нему, перемещаясь по списку, отображать нужное
|
 |

|
|
|
| |
Пост N: 402
Зарегистрирован: 03.12.08
|
|
Отправлено: 07.10.25 12:18. Заголовок: Тут двойной выбор . ..
Тут двойной выбор . При клике мышкой на изображении - указатель в левой таблице перемещается на соответствующую строчку . Пользователям такая визуализация уже привычна . Хотя в предложенном варианте тоже что-то есть .... :)
|
 |

|
|
|
| постоянный участник
|
Пост N: 4827
Зарегистрирован: 17.02.12
|
|
Отправлено: 07.10.25 12:52. Заголовок: Softlog86 пишет При ..
Softlog86 пишет | цитата: | | При клике мышкой на изображении - указатель в левой таблице перемещается на соответствующую строчку |
| Т.е. указатель списка не соответствует картинке и тексту - ввод в заблуждение, + надо хранить\освобождать все handle картинок, по мне, много кода .. и все. Решение вашего вопроса, такое. При создании ленты, к каждому handle ( или ID строки списка) картинки запоминаете координату окна, при клике по строке, имитируете нажатия мыши на SCrollBar, вперед или назад (как это делать было в примерах) и сравниваете с координатой, раннее запомненной и соответственно, останавливаетесь при достижении координаты. В предложенном варианте, проще. На Timer в Cargo запоминаете ID строки (первоначально 0, например) и при срабатывании Timer сравниваете ID списка и Timer:Cargo, при не совпадении отображаете new данные из строки, можно добавить цикл проверки смены ID с задержкой ~100 мск., и если за это время не сменился, то отображать, сменился, значит user зажал клавишу перемещения
|
 |

|
|
|
| |
Пост N: 403
Зарегистрирован: 03.12.08
|
|
Отправлено: 07.10.25 13:12. Заголовок: Никакого заблуждения..
Никакого заблуждения нет . Указатель в левой таблице соответствует картинке , которая ВЫДЕЛЕНА рамкой . При изменении (клик на картинке ) - указатель таблицы становится на соотв.строку . Ну и картинка , само собой , выделяется рамкой . При изменении пользователем указателя в таблице - выделяется рамкой нужная картинка в окне справа . Просто прокрутка в таблице или окне изображений к смене текущих (строка_таблицы и выделяющая_рамка ) не приводит . PS: теперь думаю , как заставить быть отображаемой (в видимой области ) нужную картинку (ряд с этой картинкой ) .....
|
 |

|
|
|
| |
Пост N: 404
Зарегистрирован: 03.12.08
|
|
Отправлено: 10.10.25 14:48. Заголовок: Остался вопрос с тем..
Остался вопрос с тем , как сделать чтоб нужная картинка из окна справа попадала в видимую часть , при изменении указателя в таблице справа Пытался использовать SetScrollPos для передвижения вертикального скролл-бара на нужную позицию . Сам ползунок переставляется , но вот элементы в этом окне (тип PANEL) не перерисовываются в соответствии с новым положением вертикального ползунка .... Правильно работает (с перерисовкой элементов ) только если установить SetScrollPos() в ноль или в максимальное положение и последующую передачу (SendMessage()) в это окно , вот как это выглядит чтоб уйти в самый низ виртуального окна : k:=GetFormHandle (V) GG:=GetScrollRangeMax ( K, SB_VERT ) SetScrollPos ( K, SB_VERT , GG , .T. ) SendMessage ( K, WM_VSCROLL, SB_LINEUP, 0 ) SendMessage ( K, WM_VSCROLL, SB_LINEDOWN, 0 )
|
 |

|
|
|
| постоянный участник
|
Пост N: 8063
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.10.25 17:49. Заголовок: Вот таблица показа к..
Вот таблица показа картинок на базе ТСБ. Режим Админ - правка товара и картинок: Режим Товары - показ/поиск товара для юзера - показ картинок по таймеру. показ файлов: *.jpg *.jpeg *.png *.bmp *.gif *.tiff *.emf *.avi *.mp4 *.ico Исходники отправлены Григорию.
|
 |

|
|
|
| постоянный участник
|
Пост N: 8091
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.10.25 15:07. Заголовок: Сам проект и исходни..
|
 |

|
|