Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сдеать карту автостоянки, Нуждаюсь в совете проффисионалов 
:(
    Опции темы
osmus
Дата 2.1.2009, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 12.6.2008

Репутация: нет
Всего: нет



Вот рисунок http://pic.ipicture.ru/uploads/090102/31802/b1uUlpLyem.jpg
Мне нужно напрограмить такую форму где пользователь сможет нажать по гаражу и увидеть в другой форме всю инфу о нем.

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

Подкиньте плиз идею  smile 

Это сообщение отредактировал(а) osmus - 2.1.2009, 12:33
PM MAIL   Вверх
TiKKi
Дата 2.1.2009, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 13.5.2006

Репутация: 1
Всего: 2



Может TStringGrid...
PM   Вверх
Usper
Дата 3.1.2009, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 13.4.2007

Репутация: 15
Всего: 15



Для определения положения курсора на экране можно воспользоваться объектом Mouse->CursorPos (из координат, полученных таким способом надо вычесть координаты окна (Form1->Left, Form1->Top) и координаты компонента относительно формы на котором будет нарисована карта)). А нажатие кнопки мыши отлавливать в событии OnClick.


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
TiKKi
Дата 3.1.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 13.5.2006

Репутация: 1
Всего: 2



Цитата(Usper @ 3.1.2009,  16:56)
Для определения положения курсора на экране можно воспользоваться объектом Mouse->CursorPos (из координат, полученных таким способом надо вычесть координаты окна (Form1->Left, Form1->Top) и координаты компонента относительно формы на котором будет нарисована карта)). А нажатие кнопки мыши отлавливать в событии OnClick.

Вариант, но зачем все так сложно? 
1. С помощью обработчика события OnDrawCell для TStringGrid'а рисуем необходимую карту гаражей.
2. С помощью обработчика события OnMouseDown для TStringGrid'а + его же метода MouseToCell определяем на какой ячейке было нажатие.
Первое, что в голову пришло для реализации - "...такую форму где пользователь сможет нажать по гаражу...", думаю такая идея имеет права на существавание smile
PM   Вверх
osmus
Дата 4.1.2009, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 12.6.2008

Репутация: нет
Всего: нет



спасибо
Я так и предполагал что с TStringGrid будет самое удобное...
Хотел сделать авторысуемый smile , то есть смотрит он на базу и по ней рисует ну пока не могу придумать как .....  
PM MAIL   Вверх
TiKKi
Дата 5.1.2009, 04:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 13.5.2006

Репутация: 1
Всего: 2



Цитата(osmus @ 4.1.2009,  20:46)
спасибо

Не за что ;-)
Автоматический, боюсь, не получится. Мне кажется, что придется реализовывать как получение данных из базы (файла), так и их последующая обработка (так сказать, приведение к такому виду, который потом удобней было бы отображать). Мое мнение, реализовывать надо свой механизм, а уж автоматический там все будет или нет, решать Вам smile

Это сообщение отредактировал(а) TiKKi - 5.1.2009, 04:34
PM   Вверх
xvr
Дата 5.1.2009, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(TiKKi @ 2.1.2009,  16:25)
Может TStringGrid...

У него Grid несколько нерегулярный, TStringGrid такого не умеет  smile 
PM MAIL   Вверх
TiKKi
Дата 5.1.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 13.5.2006

Репутация: 1
Всего: 2



Цитата(xvr @ 5.1.2009,  13:36)
У него Grid несколько нерегулярный, TStringGrid такого не умеет  smile

Ага, и вообще TStringGrid для других целей предназначен. Сам не умеет, поэтому поколдовать надо. smile
PM   Вверх
osmus
Дата 5.1.2009, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 12.6.2008

Репутация: нет
Всего: нет



Да я так присмотрелся похоже с гридом не получится smile Там ужасное не соответствие.....

Добавлено через 3 минуты и 29 секунд
Цитата(TiKKi @ 5.1.2009,  13:49)
Цитата(xvr @ 5.1.2009,  13:36)
У него Grid несколько нерегулярный, TStringGrid такого не умеет  smile

Ага, и вообще TStringGrid для других целей предназначен. Сам не умеет, поэтому поколдовать надо. smile

А как колдовать, грид же имеет сетчатую структуру и в одной строке сделать ячейку, а под ней сделать две(в другой строке) я думаю не получится.....
PM MAIL   Вверх
TiKKi
Дата 5.1.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 13.5.2006

Репутация: 1
Всего: 2



Цитата(osmus @ 5.1.2009,  13:59)
А как колдовать, грид же имеет сетчатую структуру и в одной строке сделать ячейку, а под ней сделать две(в другой строке) я думаю не получится.....

В таком случае, я бы унаследовался от какого-нибудь TGraphicControl  и ручками.
PM   Вверх
KTatsu
Дата 7.1.2009, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 23.8.2008
Где: Москва

Репутация: 1
Всего: 1



Я бы решил такую проблему примерно так(см. приложенный исходник).

Знаю, что все написанное мною не профессионально, но может наведет на какие-нибудь мысли.
Я использовал координаты курсора на TImage, Memo1 для хранения информации о гаражах в строках. Номер гаража соответствует порядковому номеру строки Memo1.
В Memo2 выводится информация о гараже по клику.
Номер гаража, на котором находится курсор, определяется исходя из диапазона координат, соответствующих клетке, изображающей гараж на событие движения мыши, а в статус баре отображается номер "выделенного" гаража.
Здесь правда схема из 20 гаражей по 10 в строке, но ее не сложно доработать.
user posted image
Надеюсь, пригодится.

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  Garages.rar 733,23 Kb
PM MAIL   Вверх
osmus
Дата 7.1.2009, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 12.6.2008

Репутация: нет
Всего: нет



Спасибо огромное smile 
Этот вариант лучше чем набрасывать 1000 кнопок на форму.
Наверное(точно буду использовать) его smile  
PM MAIL   Вверх
KTatsu
Дата 8.1.2009, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 23.8.2008
Где: Москва

Репутация: 1
Всего: 1



Рад, что наконец-то смог быть полезным smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.