Помощь - Поиск - Пользователи - Календарь
Полная версия: Создание новых визуальных компонент
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Scorp_Freeman
Как создать новый визуальный компонент?
Хочу сделать простенький графический редактор в целях изучения графических возможностей Делфи но затрудняюсь с реализацией некоторых функций и событий:

- Нарисованные линии выделять кликом мыши;
- Удалять после выделения;
- Чтобы при наведении на нарисованную линию курсора мыши та выделялась и теряла выделение при дальнейшем перемещении курсора

Думаю, может нужно создать какие-то объекты которые отвечали за нарисованные линии или как?
hardcase
Создать компонент очень просто:
Меню - Components - NewComponent

Потом нужно выбрать класс-предок, и указать класс потомок. Система создаст модуль-"рыбу".

Совет создавай компонент в контексте какогонибудь проекта - будет удобно отлаживать - и не нужно регистрировать компоненту для работы.

Т.е. ты создаёшь обычный проект и подключаешь к нему модуль своей компоненты. Во время работы ты должне самостоятельно создавать свою компоненту, вызывая конструктор и указывая значения свойств Parent, Name, Left, Top и др.

С Делфи уже поставляются примеры компонент - TGauge (вкладка Samples) - посмотри его код.

по линиям.
Советую сначала механизм рисования линий реализовывыть не в компоненте - меньше проблем будет, а например на том же TPaintBox-е. Если сделаешь на его основе, то сможешь смело завернуть это в контрол пронаследованный от TPaintBox.

Попробуй использовать регионы (во всяком случае GDI+ умеет определять на каком регионе было кликнуто)
Scorp_Freeman
Цитата
Попробуй использовать регионы

А кратко что такое регион?
volvo
Лучше скачай DRKB и посмотри там статью о работе с регионами (да и вообще в этой базе есть много полезной информации)...
Scorp_Freeman
Попробую скачать, хотя будет проблематично с такой скоростью как у меня, 10 метров все таки..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.