![]() |
|
|
![]()
|
|
| osmus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 12.6.2008 Репутация: нет Всего: нет |
Вот рисунок http://pic.ipicture.ru/uploads/090102/31802/b1uUlpLyem.jpg
Мне нужно напрограмить такую форму где пользователь сможет нажать по гаражу и увидеть в другой форме всю инфу о нем. Както не очень интересно делать форму и набрасывать на нее кнопки..... хотелось бы чето по универсальнее и интереснее но в голову не приходит и знаний не так много, а компонентов много. Подкиньте плиз идею Это сообщение отредактировал(а) osmus - 2.1.2009, 12:33 |
|||
|
||||
| TiKKi |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.5.2006 Репутация: 1 Всего: 2 |
Может TStringGrid...
|
|||
|
||||
| Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Для определения положения курсора на экране можно воспользоваться объектом Mouse->CursorPos (из координат, полученных таким способом надо вычесть координаты окна (Form1->Left, Form1->Top) и координаты компонента относительно формы на котором будет нарисована карта)). А нажатие кнопки мыши отлавливать в событии OnClick.
-------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
| TiKKi |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.5.2006 Репутация: 1 Всего: 2 |
Вариант, но зачем все так сложно? 1. С помощью обработчика события OnDrawCell для TStringGrid'а рисуем необходимую карту гаражей. 2. С помощью обработчика события OnMouseDown для TStringGrid'а + его же метода MouseToCell определяем на какой ячейке было нажатие. Первое, что в голову пришло для реализации - "...такую форму где пользователь сможет нажать по гаражу...", думаю такая идея имеет права на существавание |
|||
|
||||
| osmus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 12.6.2008 Репутация: нет Всего: нет |
спасибо
Я так и предполагал что с TStringGrid будет самое удобное... Хотел сделать авторысуемый |
|||
|
||||
| TiKKi |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.5.2006 Репутация: 1 Всего: 2 |
Не за что ;-) Автоматический, боюсь, не получится. Мне кажется, что придется реализовывать как получение данных из базы (файла), так и их последующая обработка (так сказать, приведение к такому виду, который потом удобней было бы отображать). Мое мнение, реализовывать надо свой механизм, а уж автоматический там все будет или нет, решать Вам Это сообщение отредактировал(а) TiKKi - 5.1.2009, 04:34 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
У него Grid несколько нерегулярный, TStringGrid такого не умеет |
|||
|
||||
| TiKKi |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.5.2006 Репутация: 1 Всего: 2 |
Ага, и вообще TStringGrid для других целей предназначен. Сам не умеет, поэтому поколдовать надо. |
|||
|
||||
| osmus |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 12.6.2008 Репутация: нет Всего: нет |
Да я так присмотрелся похоже с гридом не получится
Добавлено через 3 минуты и 29 секунд
А как колдовать, грид же имеет сетчатую структуру и в одной строке сделать ячейку, а под ней сделать две(в другой строке) я думаю не получится..... |
||||
|
|||||
| TiKKi |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.5.2006 Репутация: 1 Всего: 2 |
В таком случае, я бы унаследовался от какого-нибудь TGraphicControl и ручками. |
|||
|
||||
| KTatsu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Я бы решил такую проблему примерно так(см. приложенный исходник).
Знаю, что все написанное мною не профессионально, но может наведет на какие-нибудь мысли. Я использовал координаты курсора на TImage, Memo1 для хранения информации о гаражах в строках. Номер гаража соответствует порядковому номеру строки Memo1. В Memo2 выводится информация о гараже по клику. Номер гаража, на котором находится курсор, определяется исходя из диапазона координат, соответствующих клетке, изображающей гараж на событие движения мыши, а в статус баре отображается номер "выделенного" гаража. Здесь правда схема из 20 гаражей по 10 в строке, но ее не сложно доработать. Надеюсь, пригодится. Присоединённый файл ( Кол-во скачиваний: 11 )
Garages.rar 733,23 Kb |
|||
|
||||
| osmus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 12.6.2008 Репутация: нет Всего: нет |
Спасибо огромное
Этот вариант лучше чем набрасывать 1000 кнопок на форму. Наверное(точно буду использовать) его |
|||
|
||||
| KTatsu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 23.8.2008 Где: Москва Репутация: 1 Всего: 1 |
Рад, что наконец-то смог быть полезным
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |