Вниз
Скачать: CL | DM;

Form1.Top<0   Найти похожие ветки 

← →
evg   (2010-03-15 15:28) [0]

Доброго дня!
Есть форма автоскролл=тру, если координаты контрола больше ширины или высоты он уходит за границу и скролбарами его можно "найти".
Вопросик:
Как "найти" контрол если его топ меньше топа формы?
Спасибо!


← →
{RASkov} ©   (2010-03-15 15:41) [1]

> [0] evg   (15.03.10 15:28)
> Как "найти" контрол

Что значит найти?


← →
evg   (2010-03-15 15:48) [2]


> {RASkov} ©   (15.03.10 15:41) [1]

увидеть прокрутив скроллбар


← →
{RASkov} ©   (2010-03-15 15:50) [3]

> [2] evg   (15.03.10 15:48)
> прокрутив скроллбар

скролбар крутится только в положительную сторону


← →
{RASkov} ©   (2010-03-15 15:51) [4]

> [2] evg   (15.03.10 15:48)
> увидеть

хочешь его увидеть, сделай ему Top положительным


← →
evg   (2010-03-15 15:57) [5]

дело в том, что мне надо выводить контролы у которых координаты по обе стороны от оси Х и разброс приличный (высоты формы не хватает)


← →
И. Павел ©   (2010-03-15 16:07) [6]


> дело в том, что мне надо выводить контролы у которых координаты
> по обе стороны от оси Х и разброс приличный (высоты формы
> не хватает)

Как только нужно вывести отрицательный контрол, задайте ему top=0 а у всех остальных элементов управления увеличьте top на top этого контрола.


← →
И. Павел ©   (2010-03-15 16:09) [7]


> Как только нужно вывести отрицательный контрол, задайте
> ему top=0 а у всех остальных элементов управления увеличьте
> top на top этого контрола.


Точнее: нужно сохранять - какому "y" соответствует Top=0. Если выводите контрол с Top=20, выведите его в 0 а y бедет равен -20. И т.д. Тоесть динамически смещайте нижнюю точку формы.


← →
evg   (2010-03-15 16:12) [8]


> И. Павел ©   (15.03.10 16:09) [7]

Это вариант, но у меня больше 6000 контролов и если я 5999 из них буду переносить.....


← →
evg   (2010-03-15 16:14) [9]

те в минус залесть никак?


← →
И. Павел ©   (2010-03-15 16:25) [10]


> Это вариант, но у меня больше 6000 контролов и если я 5999
> из них буду переносить.....

Top-ы можно хранить в массиве. А отображать каждый раз только те контролы, которые видимы на экране.
Хотя может быть можно просто рисовать на канве? Не для заполнения пользователем ведь эти 6000 элементов управления.


← →
evg   (2010-03-15 16:30) [11]


> Не для заполнения пользователем ведь эти 6000 элементов
> управления.

:) конечно нет


← →
Anatoly Podgoretsky ©   (2010-03-15 16:43) [12]

> {RASkov}  (15.03.2010 15:50:03)  [3]

Замени мышку.


← →
Плохиш ©   (2010-03-15 16:57) [13]


> у меня больше 6000 контролов

У вас ошибка в днк.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.045 c
2-1273239423
Алексей 123
2010-05-07 17:37
2010.08.27
Как переопределить DoMouseLeave у потомка TCustomControl?


11-1201479526
Delphin2008
2008-01-28 03:18
2010.08.27
Как перехватить сообщения когда WebBrowser в фокусе.


15-1274747389
Юрий
2010-05-25 04:29
2010.08.27
С днем рождения ! 25 мая 2010 вторник


9-1187953783
max_
2007-08-24 15:09
2010.08.27
DirectX - текстура


2-1274084890
REX
2010-05-17 12:28
2010.08.27
метод ExecSQL (компонент ADOQuery)




   Наверх