![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Scorp_Freeman |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Как создать новый визуальный компонент?
Хочу сделать простенький графический редактор в целях изучения графических возможностей Делфи но затрудняюсь с реализацией некоторых функций и событий: - Нарисованные линии выделять кликом мыши; - Удалять после выделения; - Чтобы при наведении на нарисованную линию курсора мыши та выделялась и теряла выделение при дальнейшем перемещении курсора Думаю, может нужно создать какие-то объекты которые отвечали за нарисованные линии или как? |
![]() ![]() |
hardcase |
![]()
Сообщение
#2
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Создать компонент очень просто:
Меню - Components - NewComponent Потом нужно выбрать класс-предок, и указать класс потомок. Система создаст модуль-"рыбу". Совет создавай компонент в контексте какогонибудь проекта - будет удобно отлаживать - и не нужно регистрировать компоненту для работы. Т.е. ты создаёшь обычный проект и подключаешь к нему модуль своей компоненты. Во время работы ты должне самостоятельно создавать свою компоненту, вызывая конструктор и указывая значения свойств Parent, Name, Left, Top и др. С Делфи уже поставляются примеры компонент - TGauge (вкладка Samples) - посмотри его код. по линиям. Советую сначала механизм рисования линий реализовывыть не в компоненте - меньше проблем будет, а например на том же TPaintBox-е. Если сделаешь на его основе, то сможешь смело завернуть это в контрол пронаследованный от TPaintBox. Попробуй использовать регионы (во всяком случае GDI+ умеет определять на каком регионе было кликнуто) -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
Scorp_Freeman |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Цитата Попробуй использовать регионы А кратко что такое регион? |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 19:56 |