Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Движение компонентов. [D7, XP]


Alral ©   (2006-08-17 16:09:00) 

Вопрос: я сделал обработчик нажатия на определённую клавишу,  при нажатии на эту клавишу должен двигаться в определенную сторону компонент (TLabel). То есть изменяются свойства Label1.Top и Label1.Left. Как сделать, чтобы этот компонент не выходил за форму (не пропадал, когда переходит через край, а остонавливался). Когда сделал в функции Form1.OnKeyPress так: if Label1.Top<0 then Label1.Top:=Label1.Top+1;  он у меня вобще не двигался, хотя находился в самом низу формы и имел значение Top=488.


Alral   (2006-08-17 19:14:00) [1]

Hotja vse, razobralsja.


Alral   (2006-08-17 19:08:00) [2]


> novill ©   (17.08.06 16:40) [4]
>
> > if Label1.Top<0 then Label1.Top:=Label1.Top+1;  он у меня
> > вобще не двигался, хотя находился в самом низу формы и
> имел
> > значение Top=488.
>
> И не должен был

Pochemu ne dolzen?

> umbra ©   (17.08.06 16:25) [3]
>
>
> > if Label1.Top<0 then Label1.Top:=Label1.Top+1;
>
> а если Label1.Top>0, то что? приведите весь код OnKeyPress,
>  пожалуйста

To on dolzen ostanovitsja, ved ne objazatelno vsegda privodit "else"(na skolko mne izvestno).


Loginov Dmitry   (2006-08-17 17:39:00) [3]

Label1.Top:=Label1.Top+Value;
if Label1.Top < 0 then Label1.Top := 0;
if Label1.Top > Self.Height - Label1.Height then
 Label1.Top := Self.Height - Label1.Height;


novill   (2006-08-17 16:40:00) [4]

> if Label1.Top<0 then Label1.Top:=Label1.Top+1;  он у меня
> вобще не двигался, хотя находился в самом низу формы и имел
> значение Top=488.

И не должен был


umbra   (2006-08-17 16:25:00) [5]


> if Label1.Top<0 then Label1.Top:=Label1.Top+1;

а если Label1.Top>0, то что? приведите весь код OnKeyPress, пожалуйста


Alral   (2006-08-17 16:16:00) [6]

Nu da, ja znaju, naskolko uja ponimaju, Label1.Top-znachenie Y verha Label, a Label1.Left-znachenie X levoi chasti Label.


Ega23   (2006-08-17 16:13:00) [7]

Точка начала координат (0,0) - в левом верхнем углу.
Ось Х идёт оттуда слева-направо.
Ось Y идёт оттуда сверху-вниз.


Наверх

Титульная страница Поиск, карта сайта Написать письмо