Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TPanel и Canvas. Можно ли рисовать по TPanel ?


Страницы:   1 2

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.

Удач! ;-)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо