![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Здравствуйте. Подскажите, как реализовать такую штуку: программно создаются объекты (наследники от TImage) и их можно связывать (выглядеть это должно примерно как в Access-e связываются таблицы в схеме данных). Вот с этими линками и проблема. Просто отрисовывать эти связи(линки) на канве владельца конечно не выход, ведь каждый линк должен быть контролом (отслеживать мышку, выделяться, "ломаться" и т.д.) Пробовал создавать наследника от TGraphicControl, так вроде бы все нормально, НО его клиентская область закрывает часть владельца и естественно берет все события мыши в этой области на себя. Как обойти эту проблему или я вообще не там копаю?
|
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Приветствую!
В общем можно проверять куда именно нажал пользователь. Потом, если оказалось, что нужно передать управление контролу лежащему ниже, передать ему это же событие и пересчитать координаты относительно общего родителя (формы например). -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Спасибо. А может есть менее извращенные способы? :-) Извиняюсь -более изящные. :-)
|
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Объясни свою задачу поподробнее. Если у тебя диагональная линия, соответственно должна занимать целый прямоугольник. А если тебе ее сделать ломанной? Только вертикальные и горизонтальные?
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Могут быть диагоналями. Вообще-то проблема с узилась )). Как вывести на канву изображение, так чтобы "бэкграунд" не затирался? В этом случае можно не использовать контролы в качестве предков, а сделать наследника от TObject и там уже от свойств плясать. Хотя может тоже бред?
|
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Есть два случая:
1) Ты наследуешь свой компонент от TGraphicControl решение: ControlStyle=ControlStyle - [csOpaque] 2) Ты наследуешь его от TCustomControl решение: http://www.forum.vingrad.ru/cgi-bin....;t=3947 -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Alexandr Sudakov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.1.2003 Репутация: нет Всего: нет |
А еще можно почитать про Region Creation and Selection.
Это правда, слегка экзотично...:) |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Ничего экзотичного тут нет, но довольно трудоемко - это да. Вообще в FAQ по C++ eсть пример работы с регионами.
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Про регионы я уже тоже думал :-). Спасибо.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |