![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| raz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 31.3.2008 Где: Soligorks =) Репутация: нет Всего: нет |
Может это тупой вопрос, но всеже я незнаю как сделать! У меня на форме лежит Edit и ListBox в Listbox есть строчки как сделать что при нажатии на строчки в edit отображалось содержимое строки на которую я нажал!
--------------------
|
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
событие OnClick
Это сообщение отредактировал(а) TForumUser - 12.6.2008, 23:07 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
TForumUser, ну да, только не забываем ItemIndex проверять.
|
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
Это лишнее. событие OnClick срабатывает, когда мы нажимаем на какую-нибудь строчку. Если мы нажали на строчку, то ItemIndex не может быть равен -1. Условие всегда верно. Это сообщение отредактировал(а) TForumUser - 13.6.2008, 11:58 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
TForumUser, ты уверен? Это событие срабатывает даже при клике просто на области листбокса, вовсе необязательно, чтобы там уже была выделена какая-то строка. Так что не минусуй сообщение, не проверив свои слова.
Это сообщение отредактировал(а) mr.Anderson - 13.6.2008, 12:12 |
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
я проверил, как раз перед тем, как написать. Попробуй выполнить мою программу и сам убедишься.
Или просто выполни по шагам свою. Или хотябы такой
На экране выскочит "!" когда сработает событие. Потыкай по листбоксу и посмотри, когда событие срабатывает P.S. из справки Delphi Usually OnClick occurs when the user presses and releases the left mouse button with the mouse pointer over the control. This event can also occur when
Это сообщение отредактировал(а) TForumUser - 13.6.2008, 12:44 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
TForumUser, специально перед отправкой своего поста сделал форму, кинул туда листбокс побольше размером, вписал туда три элемента. Прописал на OnClick вывод сообщения по индексу выделенного элемента. При клике НА ПУСТОМ МЕСТЕ листбокса получал ошибку "Выход за границу диапазона", т.е. обращение к несуществующему индексу листбокса, коим являлся на момент срабатывания события -1.
Если бы я не проверил, я бы не говорил. Я уже не раз напарывался на эту ошибку на начальных этапах обучения программированию еще в C++ Builder 5, а потом уже и в Делфи. И долго разбирался, откуда она берется, но когда разобрался, запомнил уже навсегда. Поэтому и сейчас указываю на этот факт, выход за границу диапазона в листбоксе нужно контролировать всегда! Это сообщение отредактировал(а) mr.Anderson - 13.6.2008, 12:58 |
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
Интересная мысль. Может, у нас разные версии? (у меня Delphi 7)
Сам кидаю на форму пустой (пробывал и с наполовину заполненным) листбокс (TListBox) - при клике на пустое место никакой ошибки нет, ничего не происходит. При клике по строчке всё работает как часы. При выполнении по шагам при клике на пустое место событие не запускается (ничего не происходит). Мистика Это сообщение отредактировал(а) TForumUser - 13.6.2008, 13:04 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
У меня при клике на пустом месте ничего не происходит. Мой тестовый проект в аттаче.
Присоединённый файл ( Кол-во скачиваний: 7 )
1.rar 165,35 Kb |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
THandle, ну вообще потрясающе. А у меня происходит! Ща проект выложу...
|
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Все ясно.
В D7, BDS2006 при клике по пустому месту ничего не происходит. В D2007 AV. Это сообщение отредактировал(а) THandle - 13.6.2008, 13:09 |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Вот! Держите. Проверяйте.
И версии тут не при чем, у меня что в Билдере 5-6, что в Дельфе 7 и Дельфе 2007 - везде срабатывает на пустом месте. Оси ХР и Vista. См. аттач. Присоединённый файл ( Кол-во скачиваний: 14 )
ListBoxProject.rar 6,27 Kb |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
THandle, как так? У меня и в седьмой срабатывало насколько я помню... М, значит, не настолько хорошо помню.
Все, вопрос закрыт. Несоответствие версий. THandle, прошу убрать несправедливо влепленный мной TForumUser'у минус в репу. TForumUser, мои извинения. Это сообщение отредактировал(а) mr.Anderson - 13.6.2008, 13:12 |
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
--------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
TForumUser, это я сделал, чтобы не приходилось перезапускать приложение для убирания индекса с листбокса. Для проверки. В листбоксе не всегда может быть выделена строка. Если там уже однажды произошло выделение, то оно там останется и событие клика будет срабатывать верно даже при щелчке на пустом месте, т.к. ItemIndex уже не отрицателен. Поэтому я вписал в свой проект эту функцию для снятия ItemIndex при клике на форме.
|
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
ясно, значит, вопрос закрыт
--------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| raz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 31.3.2008 Где: Soligorks =) Репутация: нет Всего: нет |
Всем СПАСИБО!!!
--------------------
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |