![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TPanel и Canvas. Можно ли рисовать по TPanel ?
Begin © (2005-07-27 13:14:00)Очень хочется вывести некий график на поверхность TPanel. Однако сей компонент свойства Canvas не имеет, хоть он и наследник TCustomControl...
Пробовал делать так
cnv := TControlCanvas.Create;
TControlCanvas(cnv).Control := Panel1;
cnv.LineTo(20,20);
Линия на панели появляется, но тут же, мгновено, исчезат. Подскажите, плиз, как это победить ? Или как получить возможность рисовать по поверхности TPanel'а...
Юрий Зотов (2005-07-27 13:34:00) [21]Можно и без наследника.
Объявляем тип:
type TFriendPanel = class(TPanel);
После этого секция protected станoвится доступна через приведение типа:
TFriendPanel(Panel1).Canvas.что-то
Чапаев (2005-07-27 13:21:00) [22]> Очень хочется вывести некий график на поверхность TPanel.
А зачем? Есть такая штука, как PaintBox, к примеру.
> Однако сей компонент свойства Canvas не имеет, хоть он и наследник TCustomControl...
Имеет, только не public. Создай наследника TPanel и в нём вынеси Canvas в секцию public.
> Пробовал делать так
Где? Попробую делать так в обработчике Form.OnPaint.
Удач! ;-)