![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Antony41 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: 1 Всего: 1 |
Здравствуйте Уважаемые! Возникла следующая проблема:
У меня так сказать на форме есть список ListView и панелька с несколькими кнопками (открыть, переместить выделить удалить и тд.) После выполнения некоторых процедур в список добавляются нужные мне файлы, так вот когда я например выделяю файл в списке, то кнопки открыть, переместить, выделить, удалить должны активироваться(enabled), а при снятии выделения пользователем должны блокироваться. Предположим у меня в списке несколько файлов C:\1.rar C:\2.rar C:\3.rar C:\4.rar C:\5.rar когда я выделяю первый итем все прекрасно кнопки активируются, когда после этого кликаю на второй итем, происходит сналала блокирование кнопок а потом снова активация, тут становится ясным, что во всём виновато свойство OnSelected оно реагирует как на выделение так и на снятие выделения, и получается мерцание!!! Фак! что делать? |
|||
|
||||
RomanEEP |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: 5 Всего: 8 |
У обычной кнопки можно раз 10 поменять св-во Enabled и нет никакого мигания
а свойства OnSelected не вижу у ListView есть только OnSelectItem |
|||
|
||||
Antony41 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: 1 Всего: 1 |
ты прав на счёт onSelectedItem опечатался, а вот попробуй размести таймер с интервалом 1,
и напиши Button1.Enabled:=not Button1.Enabled; Получается что то вроде того |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
можно завести обработчик WM_USER. При срабатывании OnSelectItem просто посылаем (PostMessage) себе сообщение, без разницы с какими параметрами (анализировать их нет смысла).
А уже в обработчике анализируем состояние выбора в ListView. Получается: - пришел deselect. - отправили себе сообщение (через PostMessage) - пришел Select - отправили себе сообщение - доставлено наше первое WM_USER, обработано и выставлено enabled кнопкам и иже с ними. - доставлено наше второе WM_USER, но так как состояние не изменилось, кнопки не "моргнут". Если же select не произошло, то ничего страшного не случится - просто WM_USER будет доставлено одно. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |