![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Движение компонентов. [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 идёт оттуда сверху-вниз.