Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.039 c
1-1121940084
vers
2005-07-21 14:01
2005.08.07
Выполнение до отображения главной формы приложения


9-1113670574
Степан
2005-04-16 20:56
2005.08.07
Как изменять контрастность спрайта?


6-1114019313
Jetus
2005-04-20 21:48
2005.08.07
Блокировка файла от удаления по FTP


1-1121678132
granni
2005-07-18 13:15
2005.08.07
создание ресурсного файла


3-1120047513
Али
2005-06-29 16:18
2005.08.07
Клонирование записи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский