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