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

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

Компонент Image [D7, WinXP]


Askalot ©   (2009-03-10 01:26:00) 

Я не профессионал Delphi - поэтому у меня глупый вопрос =)
У меня в программе много изображений Image и когда они перемещаются, появляются или меняют размер то постоянно мелькают (наверно загружаются) как сделать так что бы изображения не мелькали?


Askalot   (2009-03-11 20:55:00) [1]

Спасибо =) Кажется работает, у меня на Panel лежали Image )


{RASkov}   (2009-03-11 18:45:00) [2]

> [6] Askalot ©   (11.03.09 15:41)
> Я пишу при загрузке формы DoubleBuffered:=true;

А Image1 и иже с ним у тебя на форме лежат? т.е. Parent кто у них?
DoubleBuffered - нужно родителю устанавливать...


Askalot   (2009-03-11 15:41:00) [3]

Странно, всё равно изображиния мелькают...
Я пишу при загрузке формы DoubleBuffered:=true;
Пробовал писать:
 if Image1.Picture.Graphic is TJPEGImage then  
 begin    
   TJPEGImage(Image1.Picture.Graphic).DIBNeeded;  
 end;
Тоже неработает, да и если бы работало не помогло бы - у меня большинство изображений в формате .Gif =(
Подскажите, может не там пишу или есть ещё каки нибудь способы?


Б   (2009-03-10 14:15:00) [4]

> Спасибо! А то уже года два так программирую по-идиотски =)

;)


Askalot   (2009-03-10 13:37:00) [5]

Спасибо! А то уже года два так программирую по-идиотски =)


Б   (2009-03-10 08:53:00) [6]

Вот нашёл - Как победить дрибижание.
http://delphi.about.com/library/bluc/text/uc052102g.htm


Б   (2009-03-10 07:51:00) [7]

Этот вопрос всегда возникает у начинающих. В том числе и у меня. ;)


DVM   (2009-03-10 01:31:00) [8]


> наверно загружаются

Нет. Мелькание происходит из-за того, что сначала Windows стирает фон посылкой сообщения WM_ERASEBKGND, а потом спустя доли секунды перерисовывает область окна посылкой WM_PAINT.

Чтоб не мелькало, установи значение свойства DoubleBuffered := true; у формы.


Наверх

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