Scorp_Freeman
26.07.2006 18:14
Как создать новый визуальный компонент?
Хочу сделать простенький графический редактор в целях изучения графических возможностей Делфи но затрудняюсь с реализацией некоторых функций и событий:
- Нарисованные линии выделять кликом мыши;
- Удалять после выделения;
- Чтобы при наведении на нарисованную линию курсора мыши та выделялась и теряла выделение при дальнейшем перемещении курсора
Думаю, может нужно создать какие-то объекты которые отвечали за нарисованные линии или как?
hardcase
27.07.2006 13:52
Создать компонент очень просто:
Меню - Components - NewComponent
Потом нужно выбрать класс-предок, и указать класс потомок. Система создаст модуль-"рыбу".
Совет создавай компонент в контексте какогонибудь проекта - будет удобно отлаживать - и не нужно регистрировать компоненту для работы.
Т.е. ты создаёшь обычный проект и подключаешь к нему модуль своей компоненты. Во время работы ты должне самостоятельно создавать свою компоненту, вызывая конструктор и указывая значения свойств Parent, Name, Left, Top и др.
С Делфи уже поставляются примеры компонент - TGauge (вкладка Samples) - посмотри его код.
по линиям.
Советую сначала механизм рисования линий реализовывыть не в компоненте - меньше проблем будет, а например на том же TPaintBox-е. Если сделаешь на его основе, то сможешь смело завернуть это в контрол пронаследованный от TPaintBox.
Попробуй использовать регионы (во всяком случае GDI+ умеет определять на каком регионе было кликнуто)
Scorp_Freeman
27.07.2006 14:14
Цитата
Попробуй использовать регионы
А кратко что такое регион?
Лучше скачай
DRKB и посмотри там статью о работе с регионами (да и вообще в этой базе есть много полезной информации)...
Scorp_Freeman
29.07.2006 16:37
Попробую скачать, хотя будет проблематично с такой скоростью как у меня, 10 метров все таки..