Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
ВнизГде находится список того, в какой очерёдности находятся Найти похожие ветки
← →
КАСК (2005-07-13 01:27) [0]компоненты на форме 7 Хочется что-нибудь подудобнее чем BringToFront.
← →
alex-drob (2005-07-13 01:34) [1]Object TreeView?
← →
КАСК (2005-07-13 01:49) [2]
> alex-drob (13.07.05 01:34) [1]
> Object TreeView?
Что Object TreeView?
← →
Юрий Зотов © (2005-07-13 01:49) [3]Если все компоненты, то Components. А если контролы, то они не обязаны лежать именно на форме, но те, что лежат на форме - Controls.
← →
КАСК (2005-07-13 01:54) [4]TImage - это контрол или компонент ?
← →
Юрий Зотов © (2005-07-13 02:01) [5]> КАСК (13.07.05 01:54) [4]
TComponent и все его наследники - компоненты.
TControl и все его наследники - визуальные компоненты. На сленге - контролы.
Значит, вопрос "TImage - это контрол или компонент?" поставлен некорректно. TImage - это и компонент, и контрол одновременно.
← →
Каск (2005-07-13 02:05) [6]
> Юрий Зотов © (13.07.05 02:01) [5]
> > КАСК (13.07.05 01:54) [4]
>
> TComponent и все его наследники - компоненты.
>
> TControl и все его наследники - визуальные компоненты. На
> сленге - контролы.
Ну, так как один имедж показать поверх другого, но при этом не нарушая очерёдность показа других имиджей ?
← →
Defunct © (2005-07-13 02:09) [7]
if Image is TControl then
ShowMessage("image is TControl);
if Image is TComponent then
ShowMessage("image is TComponent);
← →
Defunct © (2005-07-13 02:12) [8]> Каск (13.07.05 02:05) [6]
> Ну, так как один имедж показать поверх другого, но при этом не нарушая очерёдность
Глупость какая-то.
Сделайте себе массив TBitmap и рисуйте их на одном Image в том порядке, в котором вам нужно.
← →
Юрий Зотов © (2005-07-13 02:12) [9]> Каск (13.07.05 02:05) [6]
Что значит "не нарушая очерёдность показа"?
← →
Defunct © (2005-07-13 02:16) [10]Юрий Зотов © (13.07.05 02:12) [9]
Вероятно, он пытается сделать показ слайдов как в Power Point. только непонятно к чему там куча Image"ей
← →
Каск (2005-07-13 03:36) [11]
> Defunct © (13.07.05 02:12) [8]
> Сделайте себе массив TBitmap и рисуйте их на одном Image
> в том порядке, в котором вам нужно.
Перерисовка сразу всего занимает много времени.
← →
evvcom © (2005-07-13 08:18) [12]Копирование уже подготовленного "за кадром" TBitmap на визуальный TImage проходит очень быстро. А вообще действительно непонятно, что тебе нужно. Объяснить нормально можешь? Тогда, глядишь, и сам себя поймешь.
← →
Anatoly Podgoretsky © (2005-07-13 08:43) [13]evvcom © (13.07.05 08:18) [12]
Объяснить нормально можешь?
Сложная задача, иначе вопроса бы не было.
← →
Каск (2005-07-14 01:28) [14]
> evvcom © (13.07.05 08:18) [12]
> Копирование уже подготовленного "за кадром" TBitmap на визуальный
> TImage проходит очень быстро.
Ненадо уговаривать.
Вопрос был как получить доступ к ZOrder"у ? И менять его.
← →
Германн © (2005-07-14 01:38) [15]2 Каск (14.07.05 01:28) [14]
"Ненадо уговаривать." - пишется как "Не надо уговаривать."!
Научись говорить на русском языке.
>Вопрос был как получить доступ к ZOrder"у ? И менять его.
Т.е. ты хочешь получить доступ к системе!?
← →
Юрий Зотов © (2005-07-14 02:54) [16]> Каск (14.07.05 01:28) [14]
TImage - неоконный контрол. У них нет Z-порядка, это просто рисунки.
Может, стоит просто описать задачу? Без терминологии, простыми русскими словами. ИМХО, так будет понятнее.
← →
Экспериментатор (2005-07-14 06:57) [17]Порядок создания также можешь пронаблюдать посмотрев форму как текст. (DFM то бишь)
← →
Каск (2005-07-18 01:19) [18]
> Юрий Зотов © (14.07.05 02:54) [16]
> > Каск (14.07.05 01:28) [14]
>
> TImage - неоконный контрол. У них нет Z-порядка
Раз есть BringToFront, то есть и ZOrder.
Допустим есть два имеджа одни над другим, как определить какой из них находится сверху ?
← →
Наиль (2005-07-18 01:43) [19]По моему ЮЗ(13.07.05 01:49) достаточно точно ответил на этот вопрос. Так как D7 под рукой нет, то могу лишь подсказать как я дошел до выяснения этой истины. Пишешь Image1.BringToFront между любым Begin End и жмёшь на нём Ctrl+Мышь, либо Alt+ВВЕРХ. Мне нравится последний вариант. D7 выкинет тебя на реализацию BringToFront. Скорее всего ты там увидишь перестановки в массиве Components.
← →
Юрий Зотов © (2005-07-18 01:50) [20]> Каск (18.07.05 01:19) [18]
> Раз есть BringToFront, то есть и ZOrder.
Так. Еще раз: TImage - неоконный контрол. У них нет Z-порядка.
Z-order - это понятие Windows. А для Windows неоконные контролы Delphi - это вообще не контролы. Более того, она о них вообще ничего не знает и даже не подозревает об их существовании. Поэтому термин "Z-order" к неоконным контролам неприменим. Можно говорить о порядке отрисовки, еще о чем-то, но только не о Z-порядке.
> есть два имеджа одни над другим, как определить какой из них
> находится сверху?
Вот Вы сами и подтвердили, что для неоконных контролов ни о каком Z-порядке речи идти не может - иначе задача решалась бы элементарным GetWindow.
Если заглянуть в исходники VCL, то увидим, что BringToFront вызывает SetZOrder, тот - SetZOrderPosition, а тот - переупорядочивает список Controls и перерисовывает контрол. Значит, с точки зрения Delphi, порядок отрисовки (но не Z-порядок) определяется порядком следования контролов в списке Controls.
← →
Германн © (2005-07-18 02:44) [21]До сих пор не ясно, что хочет автор сабжа. Более того - он упрямо не хочет его пояснить!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.035 c