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

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

Совершенно не понятный эффект


alexdn ©   (2012-10-07 11:27:00) 

У меня на форме две картинки (TImage), так как размеры первой могут меняться, то положение второй задаётся -
     form.activate
     img3_top:=form4.image1.Height;
     form4.image3.top:=img3_top;
так вот, при переключении форм, когда возвращаешься на эту, картинка начинает скакать, т.е. тор почему то уходит вниз..


RWolf   (2012-10-08 10:02:00) [1]

и [14].
но автор, похоже, игнорирует неудобные вопросы.


brother   (2012-10-08 09:56:00) [2]

Я за каламбур, но не до такой же степени...
что именно ты хочешь сделать то? и [17]?


Inovet   (2012-10-08 09:47:00) [3]

> [16] alexdn ©   (08.10.12 09:17)

Автоматически будет при настройке соответсвующих свойств.
и про form4 ты не ответил. У тебя несколько форм? Размеры с одной берёшь, меняешь в другой?


alexdn   (2012-10-08 09:17:00) [4]

> Германн ©   (08.10.12 02:11) [15]
значит получается что если например просто написать
image3.top:=form4.image1.Height;
то image1.top приписывается автоматически, да ещё и от балды.


Германн   (2012-10-08 02:11:00) [5]


> alexdn ©   (07.10.12 16:37) [11]
>
> > kilkennycat ©   (07.10.12 16:31) [10]
> нет, я не понимаю в чём разница -
> image3.top :=  image1.top + image1.Height + delta; и
> form4.image3.top:=form4.image1.Height; ?
>

В первом случае для вычисления позицииодного окна используются позицияи размердругого окна. Во втором случае используется только размердругого окна. А где это другое окно расположено?


Лаур Балаур   (2012-10-07 22:17:00) [6]

Позвольте полюбопытствовать, к чему вообще все эти пляски с бубном?
Чем стандартные средства управления размещением контролов не подходят?
Или просто лень взять, да один раз разобраться?
Изобретаем велосипед?


Inovet   (2012-10-07 20:45:00) [7]

> [9] alexdn ©   (07.10.12 16:16)
> если image1.top=0

Значит не 0.

> [11] alexdn ©   (07.10.12 16:37)
> нет, я не понимаю в чём разница -
> image3.top :=  image1.top + image1.Height + delta; и
> form4.image3.top:=form4.image1.Height; ?

form4 ты упорно пихаешь. Оно точно надо?


kilkennycat   (2012-10-07 16:47:00) [8]

сложение топа и высоты дает боттом. дельта  для красоты, если не флэт-стиль или требуется промежуток.


alexdn   (2012-10-07 16:37:00) [9]

> kilkennycat ©   (07.10.12 16:31) [10]
нет, я не понимаю в чём разница -
image3.top :=  image1.top + image1.Height + delta; и
form4.image3.top:=form4.image1.Height; ?


kilkennycat   (2012-10-07 16:31:00) [10]


> alexdn ©   (07.10.12 14:09) [4]
>
> > kilkennycat ©   (07.10.12 12:51) [2]
> > const
> >  delta = 3;
> а почему константа?

а что, у тебя стили меняются каждые пять секунд?


alexdn   (2012-10-07 16:16:00) [11]

> Inovet ©   (07.10.12 16:01) [8]
почему тогда image3.top :=  image1.top + image1.Height + delta; даёт совершенно другой эффект, если image1.top=0, delta=0/1/2/3
что вообщем с точки зрения логики одно и то же? или я что то пропустил?..


Inovet   (2012-10-07 16:01:00) [12]

> [7] alexdn ©   (07.10.12 15:55)
> я не писал чтоб так происходило

На бумажке нарисуй, подпиши все Top и Hight, можешь вырезать ножницами и прикладывать к листку в клетку.


alexdn   (2012-10-07 15:55:00) [13]

> Лаур Балаур   (07.10.12 14:34) [6]
я не писал чтоб так происходило, поэтому написал
img3_top:=form4.image1.Height;
form4.image3.top:=img3_top;
там одни константы


Лаур Балаур   (2012-10-07 14:34:00) [14]


> alexdn ©   (07.10.12 14:10) [5]
> и вообще, почему такая фигня происходит?


Что написал - то и происходит.


alexdn   (2012-10-07 14:10:00) [15]

и вообще, почему такая фигня происходит?


alexdn   (2012-10-07 14:09:00) [16]

> kilkennycat ©   (07.10.12 12:51) [2]
> const
>  delta = 3;
а почему константа?


Дмитрий С   (2012-10-07 13:07:00) [17]


> form.activate

по каким соображениям ты это событие выбрал?


kilkennycat   (2012-10-07 12:51:00) [18]


>  form.activate
>      img3_top:=form4.image1.Height;
>      form4.image3.top:=img3_top;

const
 delta = 3;

with form4 do
 image3.top :=  image1.top + image1.Height + delta;


Лаур Балаур   (2012-10-07 12:43:00) [19]

Офигеть!
Не может такого быть!
Это глюк компилятора!
Пиши Bug Report в Quality Central!

P.S. А где вопрос? Что спросить-то хотел?


Наверх

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