| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Как оздать свою компоненту с другим внешним видом |
| Автор: markivanov 9.8.2006, 08:59 |
| Как определить внешний вид для своей компоненты, к примеру изменить внешний вид TPanel. Я пытался использовать TImage в качестве предка, но с ней не получается перерисовка, сохраняется первоначальное изображение |
| Автор: Snowy 9.8.2006, 09:13 |
| У TPanel есть Canvas. Как впрочем и у любого TWinControl. На нём и рисуй. В чём собственно проблема? Как контрол будет выглядеть - как нарисуешь. Лучше вообще наследовать от TWinControl, т.к. панель имеет некоторые свои свойства, которые могут помешать нестандартному виду. |
| Автор: markivanov 9.8.2006, 09:34 |
| у Tpanel нет Canvas |
| Автор: Snowy 9.8.2006, 09:48 |
| Есть. Просто он protected. Но наследнику доступен. Кроме того всегда можно взять GetDC от хэндла контрола и рисовать через API. |
| Автор: Snowy 9.8.2006, 11:35 |
| У панели уже есть канвас. Зачем его дублировать? |
| Автор: Alexeis 9.8.2006, 12:43 |
| ну можно, конечно, и наследника сделать, в котором канвсас сделать публичным. Это зависит от желания или не желания сэкономить память. |
| Автор: Snowy 9.8.2006, 12:49 |
| Ну так человек и хочет писать наследника |
| Автор: Alexeis 9.8.2006, 12:55 | ||
Тогда так
Добавлено @ 12:56 А можно вообще не выносить Canvas и так будет доступным в наследнике. |