Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2013, 22:09   #1
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию Мерцание при движении Image delphi 7 clx

Собственно вопрос. Как убрать мерцание при движении Image в Delphi 7 CLX
Именно CLX а не VCL
Alexandr17 вне форума Ответить с цитированием
Старый 10.12.2013, 22:18   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Реализовать двойную буферизацию.
Человек_Борща вне форума Ответить с цитированием
Старый 11.12.2013, 14:40   #3
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
По умолчанию

inherited; //от мерцания
ControlStyle := ControlStyle + [csOpaque];//от мерцания
Добавь в тот обработчик где передвигаешь или меняешь размер картинки.
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Старый 11.12.2013, 15:09   #4
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

Оба добавить или достаточно одного. Проблема в том что передвигается он у меня в таймере а это ControlStyle := ControlStyle + [csOpaque];
Я уверен его достаточно вызывать 1 раз.
Alexandr17 вне форума Ответить с цитированием
Старый 11.12.2013, 18:40   #5
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Alexandr17 Посмотреть сообщение
Оба добавить или достаточно одного. Проблема в том что передвигается он у меня в таймере а это ControlStyle := ControlStyle + [csOpaque];
Я уверен его достаточно вызывать 1 раз.
Хм... У меня есть удалёнка, что-то типа Team Viwera или как его там, так вот я засунул эти две строчки в таймер, на работоспособности не отразилось, так что можешь запихать спокойно в таймер.
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Старый 14.03.2015, 14:21   #6
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

Возвращаюсь к вопросу правдо проблема не на delphi 7 а Delphi 2009 VCL
Ни DoubleBuffered ни
inherited; //от мерцания
ControlStyle := ControlStyle + [csOpaque];//от мерцания
не помогают избавится от мерцания.
Правдо двигую я панели на которых размещены картинки
Вот код
Код:
procedure TfrmRCED.tmrAnim0Timer(Sender: TObject);
begin
  case IndexAnim of
    1:begin
        if pnl1.Top > -100 then pnl1.Top:=pnl1.Top-5;
        if pnl2.Top < 484 then pnl2.Top:=pnl2.Top+5;
        if (pnl1.Top = -100)and(pnl2.Top = 484) then IndexAnim:=0;

    end;
    2:begin
        if pnl1.Top < 0 then pnl1.Top:=pnl1.Top+5;
        if pnl2.Top > 384 then pnl2.Top:=pnl2.Top-5;
        if (pnl1.Top = 0)and(pnl2.Top = 384) then IndexAnim:=0;
    end;
  end;
end;
Alexandr17 вне форума Ответить с цитированием
Старый 17.03.2015, 06:06   #7
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

ну что никто не может помочь избавится от мерцания.
Alexandr17 вне форума Ответить с цитированием
Старый 17.03.2015, 07:41   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
двигую я панели на которых размещены картинки
Странно что этот код не мерцал в D7...
Цитата:
никто не может
Здесь чего никто не может, если есть всего нет, но будь проект целиком сюда, смогут лишь все.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.03.2015, 15:01   #9
Alexandr17
Форумчанин
 
Регистрация: 10.12.2013
Сообщений: 227
По умолчанию

Цитата:
Сообщение от Alexandr17 Посмотреть сообщение
Возвращаюсь к вопросу правдо проблема не на delphi 7 а Delphi 2009 VCL
Ни DoubleBuffered ни
inherited; //от мерцания
ControlStyle := ControlStyle + [csOpaque];//от мерцания
не помогают избавится от мерцания.
Правдо двигую я панели на которых размещены картинки
Вот код
Код:
procedure TfrmRCED.tmrAnim0Timer(Sender: TObject);
begin
  case IndexAnim of
    1:begin
        if pnl1.Top > -100 then pnl1.Top:=pnl1.Top-5;
        if pnl2.Top < 484 then pnl2.Top:=pnl2.Top+5;
        if (pnl1.Top = -100)and(pnl2.Top = 484) then IndexAnim:=0;

    end;
    2:begin
        if pnl1.Top < 0 then pnl1.Top:=pnl1.Top+5;
        if pnl2.Top > 384 then pnl2.Top:=pnl2.Top-5;
        if (pnl1.Top = 0)and(pnl2.Top = 384) then IndexAnim:=0;
    end;
  end;
end;
А это что. Код который отвечает за работу движения. Проэкт сам скинуть не могу. Не закончен.
Alexandr17 вне форума Ответить с цитированием
Старый 17.03.2015, 21:13   #10
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Новый проект + пара компонентов (может ажно 10) + проблемный код

Код:
Если проблема повторилась то
  минипроект сюда
иначе
  ищем разницу со своим проектом
  далее по обстоятельствам
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как убрать мерцание при загрузке в Image DelhiProgramer Мультимедиа в Delphi 8 16.09.2012 17:29
Как убрать мерцание при изменении яркости в Image werrey Мультимедиа в Delphi 6 23.10.2011 13:26
Мерцание при перетаскивание Image Harikolo Мультимедиа в Delphi 3 17.02.2011 00:16
Мерцание StringGrid (CLX) SpaceIQ Общие вопросы Delphi 6 13.07.2009 15:21
При движении картинки происходит мерцание... Teen4jump Gamedev - cоздание игр: Unity, OpenGL, DirectX 14 11.07.2007 01:43