Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 14:41   #11
dydochnik
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 10
По умолчанию

контакты, имена, фамилии
dydochnik вне форума Ответить с цитированием
Старый 16.04.2012, 14:56   #12
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
На Delphi работал очень давно ( порядка 8 лет назад ), так что ничего не помню.
Чушь, а говорить, ездить на велосипеде, читать и писать - тоже не помните как?


Если вы действительно работали, то вы не забудите ничего. Оно просто начнет всплывать, возьмитесь вы за старое. Надо только захотеть.

Тяжко в учении, легко в бою.

Путь будет некий класс у котрого есть обьекты, при наведении на которые будет что-то происходить.

Для базового класса подойдет TList, каждый обьект будет имееть координаты x,y относительно изображения и иметь площать(по ширине и высоте, прямойгольник/квадрат, построить не сложно), так же есть события наведения мыши на обьект, обработывайте их и отображайте данные.

В кач-ве хранилища можно использовать xml.


Если уж совсем по детски, то :
1. клас TList
2. Run-time созданите TPanel заданной ширины и высоты(А лучше наследовать от него свой компонент, и там связать с классом), в заданных координатах относительно изображения.

Но можно и смухлевать, положив TImage в контейнер типа TPanel и выставить Align = alClient и тогда можно будет класть оьбьекты относительно координат контейнера, хатя и форма тоже контейнер, но если на ней будет что-то ещё кроме картинки то бужет сложнее т.к. изображение - это не контейнер.

Обработка наведения мыши, клика и т.д. у панели уже реализованы, осталось только создавать, загружать данные в наследник и обработывать наведения мыши.

Последний раз редактировалось Человек_Борща; 16.04.2012 в 15:00.
Человек_Борща вне форума Ответить с цитированием
Старый 16.04.2012, 15:06   #13
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Только учтите, что картинка у вас 3000х2000, которая явно не влезает в экран , и при перемещении ScrollBar.Position при вызове события MouseDown координаты x,y будут не те, которые нужны.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 16.04.2012, 15:06   #14
dydochnik
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 10
По умолчанию

Это было в 14 лет и это были медиа плееры и браузеры - ничего серьезного!

Сейчас у меня структура такая: Форма в ней ScrollBox, а в нем Image. Дальше думаю и пытаюсь разобраться, читаю форумы. Куча информации от многих людей исходит, каждый говорит по разному и каждый предлагает свой вариант - путаюсь.

Цитата:
Только учтите, что картинка у вас 3000х2000, которая явно не влезает в экран , и при перемещении ScrollBar.Position при вызове события MouseDown координаты x,y будут не те, которые нужны.
Мне бы еще с координатами разобраться =)

Последний раз редактировалось Stilet; 16.04.2012 в 18:01.
dydochnik вне форума Ответить с цитированием
Старый 16.04.2012, 17:31   #15
EridorBlade
CAE Engineer
Пользователь
 
Аватар для EridorBlade
 
Регистрация: 10.03.2011
Сообщений: 75
По умолчанию

Цитата:
Сообщение от dydochnik Посмотреть сообщение
Мне бы еще с координатами разобраться =)
Вечером буду дома пришлю исходник ). Написать код проще чем рассказывать )))
EridorBlade вне форума Ответить с цитированием
Старый 16.04.2012, 17:58   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
контакты, имена, фамилии
Я правильно понимаю - ты делаешь карту с горячими областями, ссылающимися на информацию о них?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2012, 01:40   #17
EridorBlade
CAE Engineer
Пользователь
 
Аватар для EridorBlade
 
Регистрация: 10.03.2011
Сообщений: 75
По умолчанию

И так, как и обещал вот код. Надеюсь я вас правильно понял
Я обозначил основное. Ну а дальше ваша работа, чтобы сделать так, как этого хотите вы. Удачи )
Вложения
Тип файла: rar Example.rar (231.4 Кб, 15 просмотров)

Последний раз редактировалось EridorBlade; 17.04.2012 в 01:42.
EridorBlade вне форума Ответить с цитированием
Старый 17.04.2012, 08:41   #18
dydochnik
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 10
По умолчанию

Stilet - правильно =).

EridorBlade - Огромнейшее спасибо, но не стоило так заморачиваться). Можно было как все - написать пару вариантов текстом).

EridorBlade - посмотрел я ваш пример, в общем - это то, что я хочу, вот только осталось несколько вопросов:
1. Какой командой я могу расположить точки на карте, если я знаю ее конкретные координаты (Координаты точек я посмотрел в фотошопе)? И в дальнейшем задействовать ее как кнопку?
2. Так же не понял зачем нужно было делать отдельные Scroolbar'ы, если можно было Image кинуть в Scrollbox? Или это я что то не так делаю и в дальнейшем из-за Scrollbox'a будут ошибки?

Спасибо, за внятные ответы, комментарии и понимание. =)

Последний раз редактировалось Stilet; 17.04.2012 в 09:36.
dydochnik вне форума Ответить с цитированием
Старый 17.04.2012, 13:23   #19
dydochnik
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 10
По умолчанию

с вопросом 2 разобрался, оставил Scrollbox, а то через Scrollbar как то немного не так
=)
dydochnik вне форума Ответить с цитированием
Старый 17.04.2012, 15:04   #20
EridorBlade
CAE Engineer
Пользователь
 
Аватар для EridorBlade
 
Регистрация: 10.03.2011
Сообщений: 75
По умолчанию

Цитата:
Сообщение от dydochnik Посмотреть сообщение
1. Какой командой я могу расположить точки на карте, если я знаю ее конкретные координаты (Координаты точек я посмотрел в фотошопе)? И в дальнейшем задействовать ее как кнопку?
Ну вы можете их не случайным образом построить как в моем примере, а например вручную или из файла. FX[i] FY[i] это и есть ваши координаты, а i порядковый номер. Вы же в курсе что такое массивы?
В моем примере 100 точек. Вы можете убрать цикл и присваивать вот так
FX[1]:=10;
FY[1]:=20;
FX[2]:=30;
FY[2]:=40;
и так далее. В итоге координата первой точки 10,20 второй 30,40.

На тему ScrollBar это просто как один из возможных вариантов.

На тему кнопки. В примере точки и так работают как кнопки. Событие происходит когда вы кликаете в белую точку на экране. Я же вам исходник в дельфи выложил с комментариями. Смотрите внимательнее.

P.S. вы в моем примере кликали на точки?)))
EridorBlade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к информации о пробках Diablero JavaScript, Ajax 1 23.06.2011 15:15
числа через точки aoaoo Microsoft Office Excel 7 04.06.2011 17:29
Тема: "Разработка методов и форм по работе с персоналом имеющим доступ к конфиденциальной информации Mashira Фриланс 0 17.04.2011 20:56
Доступ к БД через Internet yulia Работа с сетью в Delphi 3 04.03.2009 00:44