powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6: MSFlexGrid - клик "проваливается"
5 сообщений из 5, страница 1 из 1
VB6: MSFlexGrid - клик "проваливается"
    #38359463
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тестовый проект приложен.
Как увидеть глюк:
Запускаем проект, на Form1 есть грид. Он регистрирует одиночные клики мышкой по нему (показывает их внизу в Label)

Жмем Command1, вызывается Form2, на ней тоже есть грид. По двойному щелчку по гриду Form2 закрывается и мы видим, что на Form1 сетка регистрирует одиночный клик (хотя при этом даже не меняется текущая ячейка). Важный момент - курсор мыши в момент двойного клика по сетке в Form2 должен при этом одновременно находиться над сеткой на Form1.


Как это побороть? Можно, конечно, добавлять всякие проверки и условия, но реальный проект гораздо сложнее, и между этими сетками реально есть еще несколько уровней абстракции (они находятся во вложенных контролах) и наладить взаимодействие между ними в виде заплатки для проверки этого конкретного глюка очень не хочется.

Какие у кого идеи? )
...
Рейтинг: 0 / 0
VB6: MSFlexGrid - клик "проваливается"
    #38359610
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже так ведут себя все контролы, заменил гриды на фреймы и получил тоже самое.

Задержка Sleep'ом ни до ни после unload не помогла, помогла задержка таймером.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub Frame1_DblClick()
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    Unload Me
End Sub

Затержку можно поставить минимальную, но вряд ли ты будешь в вострге от такого решения. Впрочем альтернатива еще хуже: сабклассить контролы, которые используются в этом сценарии, и гасить клик, проходящий после уничтожения окна.
...
Рейтинг: 0 / 0
VB6: MSFlexGrid - клик "проваливается"
    #38359630
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyно вряд ли ты будешь в вострге от такого решенияНу как сказать, оно выглядит, как ни странно, наиболее простым. Не в первый раз приходится закрывать или открывать что-то с помощью таймера при работе с формами и контролами, хотя, полагал, что можно как-то просто убит клик без сабклассинга.
Спасибо.
...
Рейтинг: 0 / 0
VB6: MSFlexGrid - клик "проваливается"
    #38359638
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На здоровье)
...
Рейтинг: 0 / 0
VB6: MSFlexGrid - клик "проваливается"
    #38360353
Фотография i45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro...Какие у кого идеи? )

Поменяй на MSHFlexGrid.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6: MSFlexGrid - клик "проваливается"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]