Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.10.2010, 23:23
MaxKremenchug MaxKremenchug вне форума
Прохожий
 
Регистрация: 13.10.2010
Сообщения: 2
Репутация: 10
По умолчанию Графическая линия может реагировать на мышку как кнопка?

Вопрос к знающим. Поскольку Делфи только щупал, то ответте пожайлуста сложно ли создать в делфи тип (ну или че там) чтобы графический объект типа линии или окружности и т.п. (геом. примитив) реагировал на мышь и имел стандартные данные типа длинны и начала и конца. Короче че-то на манер Автокада или Компаса? И как я понимаю это сделать можно, то покрайней мере подтолкните в каком направлении двигаться? Какой тип взять за основу или лучше для этого учить Си? В итоге данные примитивы должны браться с панели и переноситься на поле типа картинка и позволять себя изменять мышкой? Заранее спасибо!
Ответить с цитированием
  #2  
Старый 14.10.2010, 01:05
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Cмотрите TShape. В исходниках есть его реализация.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 14.10.2010, 01:07
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Есть 2 варианта.
1. Ты пишешь соответсвующие классы, имплементирующие нужное тебе поведение (например, наследники от TGraphicControl).
2. Ты делаешь все руками на TPaintBox, а по координатам клика просто вычисляешь нужный тебе объект и делаешь нужные действия.

Второй вариант немного попроще, хотя классы все-равно придется писать, но в этом случае они сами по себе будут не визуальны, а будут только иметь метод отрисовки на переданной канве.

Если не знаешь ни Дельфи, ни С, то, в общем, все равно в чем писать, разве интерфейс будет чуть проще рисовать в Дельфи.
Ответить с цитированием
  #4  
Старый 20.10.2010, 23:48
MaxKremenchug MaxKremenchug вне форума
Прохожий
 
Регистрация: 13.10.2010
Сообщения: 2
Репутация: 10
По умолчанию

Спасибо всем кто откликнулся! Но жаль мне не сильно это помогло, т.к. необходимость создания своего класса я понимаю и что он должен быть потомком любого графического, но сам принцип? При создании мною линии, мой клас должен создать объект, например линия, в котором будет массив с указанием всех точек принадлежащих этой линии и влучае клика я буду искать кому принадлежит точка с координатами клика? Или же есть более простые способы? Извините, если напрягаю обыденными/примитивными вопросами.
Ответить с цитированием
  #5  
Старый 21.10.2010, 00:28
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Если вы планируете написать все с нуля, т.е. подменить уже существующий GDI на свой, то именно так и придется делать, но я думаю что вам не это нужно. Надо просто воспользоваться базовыми классами, в которых уже реализованы основные методы. Чуть раньше я вам предложил посмотреть как реализован класс TShape. Он есть в исходниках и как пример работы подходит идеально.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:04.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025