Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

Избежать мерцания при перемещении   Найти похожие ветки 

 
DelphiLexx ©   (2005-09-21 16:53) [0]

У меня возникла задача суть которой состоит в следующем:
Нужно создать редактор в котором есть элементы(различные фигурки), которые можно размещать на форме, а также можно перемещать их. Я сделал так - на TPanel"ke размещаю компонент TImage в котором хранится рисунок. При движении по форме этот рисунок противно мерцает. Можно конечно использовать TForm и тогда на время перемещения будет отображаться только рамка вокруг рисунка, а мне как раз-то нужно так чтобы при перемещении постоянно отображалась картинка и не мерцала. Как это сделать (только не говорите, что ни как пример программа VisiPro, VisSim и т.п.)?


 
PAVIA ©   (2005-09-21 21:04) [1]

Понимаешь ли- этот вопрос в день задоют несколько человек. Поэтому становиться влом отвичать.
1. DoubleBuffered:=true;
2. Лучше не использовать image, а использовать в цикле/таймере Canvas.Draw или  BitBlt ее оналог на WinAPI.


 
BFG9k ©   (2005-09-22 17:29) [2]

Никто не мешает тебе сделать так, чтобы содержимое формы отображалось при перетаскивании :


SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,1,nil,SPIF_SENDCHANGE);


Не забудь только вернуть на место - это распространяется на всю систему.


 
TUser ©   (2005-09-22 22:49) [3]

> BFG9k ©   (22.09.05 17:29) [2]

Там не форма перетаскивается.


 
Barloggg   (2005-09-23 10:09) [4]

Мерцания при отрисовке не избежать.
Но можно уменьшить.
При перемещении Image вместо последовательного изменения лефт и топ сразу задавать рект.
Но лучше всего создать задний буфер по размеру формы (тоже image) и рисовать все на него, и уже готовый выбрасывать на форму. В общем технология как ДиректХ


 
BFG9k ©   (2005-09-23 13:43) [5]

TUser: Внимательней надо читать (самый первый пост) :


> Можно конечно использовать TForm и тогда на время перемещения
> будет отображаться только рамка вокруг рисунка, а мне как
> раз-то нужно так чтобы при перемещении постоянно отображалась
> картинка и не мерцала.


Чтобы совсем избежать мерцанию нужно использовать TForm. Например, так делается в примерах по FastIMG.



Страницы: 1 вся ветка

Текущий архив: 2005.10.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
3-1125404241
geidarka
2005-08-30 16:17
2005.10.16
Регистро-независимый поиск


4-1124264334
Shopot
2005-08-17 11:38
2005.10.16
Как конвертировать WideChar to Char?


2-1127408995
Tirops
2005-09-22 21:09
2005.10.16
"Порядок видимости" Timage


3-1125579072
Андрей Жук
2005-09-01 16:51
2005.10.16
Индексы по выражениям в Firebird


14-1127509369
Ihor Osov'yak
2005-09-24 01:02
2005.10.16
Об науке воровать и искусстве скрываться... Или почти "