Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пропадает событие DblClick / 12 сообщений из 12, страница 1 из 1
20.02.2009, 15:34
    #35830037
sadem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
При использование в программе любого метода Clipboard (например, Clipboard.Clear) компонент MSFlexGrid перестает реагировать на двойной клик мыши. Как только убрать Clipboard.Clear, все сразу начинает работать. Кто-нибудь сталкивался с такой проблемой?

Это происходит только в то случае если на событие одинарного клика по MSFlexGrid стоит такая же процедура:
Работает (выдается сообщение):
Private Sub TGrid_Click()
'любые операции, кроме работы с буфером обмена
End Sub
Private Sub TGrid_DblClick()
Msgbox "Проверка"
Clipboard.SetText ("Проверка")
End Sub

Не работает (сообщение не выдается и при этом никаких ошибок не выдает):
Private Sub TGrid_Click()
Clipboard.Clear
End Sub
Private Sub TGrid_DblClick()
Msgbox "Проверка"
Clipboard.SetText ("Проверка")
End Sub
...
Рейтинг: 0 / 0
20.02.2009, 15:41
    #35830052
sadem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
К предыдущему:

Оказалось еще хуже. При работе с буфером обмена в данной процедуре (одинарный клие):
Private Sub TGrid_Click()
ClipBoard.Clear
End Sub

Процедура при двойном клике Private Sub TGrid_DblClick() вообще перестает выполняться!
...
Рейтинг: 0 / 0
20.02.2009, 15:49
    #35830078
Restavraciya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
Вроде нет ошибки
...
Рейтинг: 0 / 0
20.02.2009, 16:27
    #35830214
sadem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
Restavraciya, только что сделал отдельный проект, создал в нем только MSFlexGrid и у меня тоже самое происходит, вот код:

Private Sub MSFlexGrid1_Click()
Clipboard.Clear
End Sub

Private Sub MSFlexGrid1_DblClick()
MsgBox "1111"
End Sub

Сообщение по двойному клику не выводится (ни ошибок, ничего вообще, молчит программа как рыба). Как только убираю Clipboard.Clear, все работает, по двойному клику появляется сообщение. Компонент называется Microsoft FlexGrid Control 6.0. Вы такой же используете?
...
Рейтинг: 0 / 0
20.02.2009, 16:32
    #35830231
Restavraciya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
Да
...
Рейтинг: 0 / 0
20.02.2009, 17:18
    #35830313
sadem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
Restavraciya, я выложил тот простенький проект и ехе-шник его, попробуете у себя. Может это быть из-за настроек скорости двойного щелчка мыши в Windows? Или связано со скоростью ПК? Может он просто не успевает обработать одну команду и поэтому вторая уходит "в космос"?
...
Рейтинг: 0 / 0
20.02.2009, 21:26
    #35830591
Restavraciya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
Робит
...
Рейтинг: 0 / 0
20.02.2009, 21:33
    #35830596
Restavraciya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
Но мне непонятно (по незнанию видимо) - на дблклик отрабатывает и клик и дблклик, так должно быть ?
По моим понятиям : если дбл то не клик, а если клик то не дбл. :-/
...
Рейтинг: 0 / 0
21.02.2009, 00:40
    #35830741
sadem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
Restavraciya, я думаю также, что если дбл то не клик, а если клик то не дбл. Но у меня эффект противоположный вашему (не работает дбл, а только клик). Хотя в случае срабатывания клик и дбл клик можно прежположить, что дбл клик (теоретически!) содержит событие клик и дбл клик одновременно (т.к. наверно VB засекает первое нажатие кнопки мыши и трактует его как клик). Пробывал на разных ПК с разными процессорами (от 1,8 до 3,0 ГГц), следовательно, от скорости ПК это не зависит, менял настройки дбл клика в Windows - эффекта ноль. Остается предположить, что есть какие-то настройки в Windows или в самом VB6 (что вероятнее всего), которые влияют на это событие и у нас с Вами по разному установлены эти настройки. Смысла копать далее наверно нет. Переопределю эту процедуры на правую кнопку мыши тогда. Спасибо за помощь!
...
Рейтинг: 0 / 0
21.02.2009, 13:04
    #35830926
VLA91MIR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
В обоих случаях, я думаю, пишут одинаковые программы как для DblClick() и Click(), тогда результат будет прогнозируемым.
...
Рейтинг: 0 / 0
23.02.2009, 12:33
    #35832376
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
sademКто-нибудь сталкивался с такой проблемой?


С такой проблемой нет, но Clipboard очень ведет себя капризно. Я реализовал общения между программами таким образом: есть прога.ехе (VB) которая дает указание другой ехе проге на VB. Другая в свою очередь может запускаться сколько нужно раз, при помощи передачи командной строки удалось назначить нумерацию для открытой проги-исполнителя. Сделав загрузку с сайта на диск прога как-то должна сообщить первой о том что закончила загрузку и закрыться. Тогда первая вновь открывает её но дает уже следующее задание. Как общаются ? При помощи Clipboard. Каприз в том, что после передачи значения в буфер, оно не совсем мгновенно там оказывается. Даже бывает такое что буфер не может быть открыт в данный момент. Выдает ошибку. Как бороться ? Поставил в таймер с секундной выдержкой и полностью механизм какого-либо действия навесил туда. Ошибка? обходим. Одна прога с спец скриптом сумирует буфер независимо что в нем было до этого, а первая прога также в таймере постоянно ищет скрыпт и просто вырезает его не задев остальной информации.
...
Рейтинг: 0 / 0
24.02.2009, 17:28
    #35834790
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропадает событие DblClick
Попробуйте заменить MSFlexGrid на MSHFlexGrid. Сразу скажу, сам я не попробовал, но последний контроль скорее всего лучше по-любому.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пропадает событие DblClick / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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