On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 400
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 06.10.25 17:27. Заголовок: Как узнать , отображается (видим) элемент (контрол) или нет ,


Добрый день , коллеги .
Может есть какая функция/метод как узнать , отображается (видим на экране) элемент (контрол) или нет . Есть панель со скроллингом . там расположены плитками элементы- IMAGE .
Так вот хочу узнавать - есть ли нужный нам элемент в данный момент в видимой части . Соответственно , если он где-то за видимой границей - автоскроллируем чтоб он попал в видимую область .

Или самому ручками всё -высчитывать ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 9 [только новые]


постоянный участник




Пост N: 8054
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.10.25 18:34. Заголовок: Не понятно ничего.....


Не понятно ничего...
Хоть картинку бы положил.


Спасибо: 0 
ПрофильЦитата Ответить



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




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4826
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.10.25 11:49. Заголовок: Softlog86 пишет хочу..


Softlog86 пишет
 цитата:
хочу узнавать - есть ли нужный нам элемент в данный момент в видимой части


А не проще, после выбора, отображать в правой части окна только нужное изображение и тексты,
не формируя всю ленту изображений. Т.е. в памяти картинки только по выбранной строке,
такую конструкцию можно соединить с timer и по нему, перемещаясь по списку, отображать нужное

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 402
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 07.10.25 12:18. Заголовок: Тут двойной выбор . ..


Тут двойной выбор . При клике мышкой на изображении - указатель в левой таблице перемещается на соответствующую строчку .
Пользователям такая визуализация уже привычна .

Хотя в предложенном варианте тоже что-то есть .... :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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 зажал клавишу перемещения

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 403
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 07.10.25 13:12. Заголовок: Никакого заблуждения..


Никакого заблуждения нет . Указатель в левой таблице соответствует картинке , которая ВЫДЕЛЕНА рамкой . При изменении (клик на картинке ) - указатель таблицы становится на соотв.строку . Ну и картинка , само собой , выделяется рамкой .
При изменении пользователем указателя в таблице - выделяется рамкой нужная картинка в окне справа .
Просто прокрутка в таблице или окне изображений к смене текущих (строка_таблицы и выделяющая_рамка ) не приводит .

PS: теперь думаю , как заставить быть отображаемой (в видимой области ) нужную картинку (ряд с этой картинкой ) .....

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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 )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 8063
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.10.25 17:49. Заголовок: Вот таблица показа к..


Вот таблица показа картинок на базе ТСБ.
Режим Админ - правка товара и картинок:


Режим Товары - показ/поиск товара для юзера - показ картинок по таймеру.
показ файлов: *.jpg *.jpeg *.png *.bmp *.gif *.tiff *.emf *.avi *.mp4 *.ico








Исходники отправлены Григорию.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




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


Сам проект и исходники можно взять с - https://abonent4.ru/static/minigui/
далее найти - Tsb_image_dbf(0.38).7z - таблица товаров: показ картинок в ТСБ по таймеру

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 25
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет