Форум: "Media";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизКак избежать пропадания рисунка Найти похожие ветки
← →
тихий вовочка © (2004-05-04 06:34) [0]Рисую на канве Image"а, расположенного на панели. Чтобы избежать мерцания выставил у панели DoubleBuffered. Вроде бы все отлично. Так делал уже много раз. Но у меня на панели размещен еще TChart. И при отрисовки кривой на TChart почему-то происходит очистка моего Image"а, да еще черной кистью. Почему так происходит? Ведь, если в Image"е рисовать, то Bitmap там уже будет хранить твой рисунок до опопупения и система при WM_PAINT нарисует все то же самое, что уже хранится в Bitmap"е. Кто-нибудь сталкивался с подобным?
← →
xenos (2004-05-09 01:10) [1]ВАВАН, дружище, расскажи поподробнее как ты "делал много раз" избавлялся от мерцаний... Тексейра и Пачеко говорят мол делайте так - мерцаний не будет..., везде говорят +[csOpaque] - вообще не пойму... WM_ERASEBACKGROUND - вообще жуть... Башка пухнет - памаги а? ну хоть кусок кода пришли...
← →
тихий вовочка © (2004-05-09 16:46) [2]Если это вопрос - не шутка, то расскажу.Все очень просто. Надо у формы или панели выставить св-во DoubleBuffered в true например, при показе формы. А что касается csOpaque, то я его пользовал только при создании компонент - потомков TGraphicControl ControlStyle := ControlStyle + [csFramed, csOpaque];
А мой вопрос нашел вообще идиотское решение - ничего у меня не пропадало, просто в программе есть OpenDialog и когда на имени файла два раза щелкали вместо кнопки открыть, вызывался еще и OnMouseUp для Image и моя прога честно очищала рисунок. Вот так-то
← →
Sonic_gd (2004-05-09 19:09) [3]Слышь, Ваван? А где этот твой DoubleBuffered взять? А то я наверно слепой!!!!!!!!!!
← →
Mihey © (2004-05-09 20:10) [4]2 Sonic_gd:
Свойство скрыто от Object Inspector. В коде пишешь в onCreate формы:
DoubleBuffered := True;
Или если изображение на панели, то:
Panel1.DoubleBuffered := True;
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c