![]() |
|
#1
|
|||
|
|||
![]() Привет всем .
Есть Scrollbox и на нем много Timage . Timage создаются динамически в программе и называются im1 , im2 , im50 и тд . Также у каждому Timage в hint пишется определенное слово , а точнее название файла с изображением которое загрузили в данный Timage . Вот теперь вопрос - Как сделать чтобы Scrollbox прокрутился к Timage с нужным мне hint'ом ? |
#2
|
||||
|
||||
![]() Ищешь TImage с нужным хинтом, а потом делаешь ScrollBox.ScrollInView(твой_найденый_TImage);
|
#3
|
|||
|
|||
![]() Подскажи плз как найти Timage с нужным хинтом .
Спасибо. |
#4
|
|||
|
|||
![]() Попробовал так -
Код:
var i:integer; begin for i:=0 to all_im do if TImage(FindComponent('im'+inttostr(i))).Hint = im_now then scrollbox1.ScrollInView(TImage(FindComponent('im'+inttostr(i)))); Компилится норм , в программе выскакивает ошибка на строке Код:
if TImage(FindComponent('im'+inttostr(i))).Hint = im_now then |
#5
|
|||
|
|||
![]() Вообщем проблему ту решил ( была с all_im )
Но тут другая проблема - не находит он Timage . Ошибок не выскакивает . |
#6
|
||||
|
||||
![]() А владелец (Owner) объектов TImage у тебя случаем не TScrollBox? Если ДА то на форме ты их и не найдешь....
|
#7
|
|||
|
|||
![]() Да забыл еще дописать , на Tscrollbox еще Tpanel а на нем уже Timage .
так находит и прокручивается Код:
scrollbox1.ScrollInView(TImage(FindComponent('im'+inttostr(6)))); |
#8
|
|||
|
|||
![]() Ай блин все работает , это я там с хинтами намудрил -))
Спасибо . Вопрос решен. |
#9
|
|||
|
|||
![]() Чтобы не создавать новую тему .
При использовании - scrollbox1.ScrollInView(TImage(FindComponent('im'+ inttostr(i))) Как найти позицию у TImage(FindComponent('im'+inttostr(i)) на которой Timage в Scrollbox ? TImage(FindComponent('im'+inttostr(i)).left не подходит . Хочу сделать . чтобы плавно прокручивался Scrollbox до найденного Timage . |
#10
|
|||
|
|||
![]() Вообщем сделал так -
1.Записываю в переменную текущую позицию . 2. Потом делаю scrollbox1.ScrollInView(TImage(FindComponent('im'+ inttostr(i))) 3.Записываю новое положение в другую переменную . 4.Восстанавливаю позицию из первой переменной. 5.Далее делаю плавную прокрутку. Но назревает вопрос . У меня не заметно что происходит до 5го пункта . Но на слабом компьютере возможно будет заметны пункты 2 и 4 . Поэтому хотелось бы как-то по другому реализовать . |
#11
|
|||
|
|||
![]() Как и предполагалось на слабом ПК это заметно
![]() |