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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2009, 10:47   #1
Stas_SPb
Пользователь
 
Регистрация: 15.07.2009
Сообщений: 15
По умолчанию Пропадает рисунок при переключении между приложениями

Добрый день!
Есть форма, в ней поле для графики PaintBox21. На этом поле рисуется некоторый график:
Код:
PaintBox21.Canvas.LineTo(iCurrentPointX, iCurrentPointY);
При переключении между приложениями во время рисования (alt+tab ом и др.) и возвращении к форме вместо присутствовавшего там изображения - пустота. Новые линии рисуются как ни в чем не бывало.
Что делать?
Заранее спасибо за помощь!
Stas_SPb вне форума Ответить с цитированием
Старый 15.07.2009, 11:20   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Пэйнтбокс так устроен.
Замените его на TImage и ваша проблема пропадет...
mihali4 вне форума Ответить с цитированием
Старый 15.07.2009, 11:43   #3
Stas_SPb
Пользователь
 
Регистрация: 15.07.2009
Сообщений: 15
По умолчанию

Можно не в тему встречный вопрос: как залить TImage цветом формы (по аналогии с PaintBox-ом)?
Stas_SPb вне форума Ответить с цитированием
Старый 15.07.2009, 11:43   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
На этом поле рисуется некоторый график:
Я бы отрисовывал график в событии OnPaint
Цитата:
как залить TImage цветом формы
Код:
with Image1.Canvas do begin
 Brush.Color:=Form1.Color;
 FillRect(ClipRect);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.07.2009, 12:54   #5
Stas_SPb
Пользователь
 
Регистрация: 15.07.2009
Сообщений: 15
По умолчанию

Спасибо за ответы! Решил проблему!
1. Когда перешел от PaintBox к TImage сразу перестало "пропадать" изображение.
2. Залил
Код:
   Image2.Canvas.Brush.Color:=clBtnFace;
   Image2.Canvas.FillRect( Bounds(0,0,500,500));
3. Правда, если с PaintBox-ом у меня 400 точек отрисовывались за 1.1 секунду, а с TImage за 1.8 секунд.
Stas_SPb вне форума Ответить с цитированием
Старый 15.07.2009, 13:06   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
перешел от PaintBox к TImage
еще раз мой пост внимательно про OnPaint почитай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.07.2009, 13:23   #7
Stas_SPb
Пользователь
 
Регистрация: 15.07.2009
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
еще раз мой пост внимательно про OnPaint почитай.
читал, но мне не очень удобно в OnPaint. Я точку очередную отрисовываю когда она генерируется, в определенный момент времени (график - осциллограф)
Stas_SPb вне форума Ответить с цитированием
Старый 15.07.2009, 14:08   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Я точку очередную отрисовываю когда она генерируется, в определенный момент времени
Для этого удобнее воспользоваться компонентом TChart. Он как раз для этого предназначен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При переключении листов, дергает экран valerij Microsoft Office Excel 6 25.11.2008 11:55
При переключении между чекбоксами - ошибка Stack overflow. Как исправить эту ошибку? SkAndrew Общие вопросы Delphi 5 26.08.2008 21:32
Пропадает картинка на форме при обращении к цвету dimfil Общие вопросы Delphi 1 10.11.2007 11:58
Передача данных между окнами/приложениями? Dexer Win Api 11 23.05.2007 16:23