![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компонент на базе TImage [D7]
I_D © (2012-01-27 14:58:00)Доброго времени суток! Не судите строго, пишу второй компонент в жизни. Компонент для построения графиков. Возникла проблема. Если меняю размер компонента, то после запуска приложения на экран выводится лишь фрагмент. Компонент перекомпелировал. Не помогло.
Если детализировать проблему, то не отрабатывает на уровне Canvas.FillRect(imgRect); Причем в отладчике проверял - размеры передаются верно, все математические расчеты ведутся верно, с учетом нового размера, а на экран выводится не корректно
{---------------------------------RefreshGraph-------------------------------}
procedure TMyGraph.RefreshGraph;
var imgRect: TRect;
begin
imgRect.Top := 0;
imgRect.Left := 0;
imgRect.Bottom := height;
imgRect.Right := width;
Canvas.Brush.Color:=FBkgClr;
Canvas.FillRect(imgRect);
end;
...
Юрий Зотов (2012-01-28 00:10:00) [1]> U_D (27.01.12 23:40) [6]
Справедливо, но я бы наследовался от TPaintBox. Меньше кодить придется (раз) и готовое полезное событие OnPaint (два).
U_D (2012-01-27 23:40:00) [2]>> Компонент на базе TImage
>> Решил переделать на TPaintBox
Может, все же, не будешь изобретать велосипед, унаследуешь свой "компонент для рисования графиков" от TGraphicControl и переопределишь в нем метод Paint()?
brother (2012-01-27 21:12:00) [3]> Решил переделать на TPaintBox и добавить свойство OnResize.
> О результатах сообщу :)
может не надо?
I_D (2012-01-27 16:52:00) [4]спасибо всем, кто откликнулся. Пока пробую разные варианты. Решил переделать на TPaintBox и добавить свойство OnResize. О результатах сообщу :)
Dennis I. Komarov (2012-01-27 15:22:00) [5]TPaintBox
MBo (2012-01-27 15:14:00) [6]http://www.delphimaster.ru/cgi-bin/forum.pl?n=18&search=timage
Dimka Maslov (2012-01-27 15:11:00) [7]Канвас.ФиллРект лишь заполняет собой область. Графиков он не рисует. Надо вставить перерисовку в OnResize