|
|
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
При использование в программе любого метода 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 15:34 |
|
||
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
К предыдущему: Оказалось еще хуже. При работе с буфером обмена в данной процедуре (одинарный клие): Private Sub TGrid_Click() ClipBoard.Clear End Sub Процедура при двойном клике Private Sub TGrid_DblClick() вообще перестает выполняться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 15:41 |
|
||
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
Вроде нет ошибки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 15:49 |
|
||
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
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. Вы такой же используете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 16:27 |
|
||
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
Restavraciya, я выложил тот простенький проект и ехе-шник его, попробуете у себя. Может это быть из-за настроек скорости двойного щелчка мыши в Windows? Или связано со скоростью ПК? Может он просто не успевает обработать одну команду и поэтому вторая уходит "в космос"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 17:18 |
|
||
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
Но мне непонятно (по незнанию видимо) - на дблклик отрабатывает и клик и дблклик, так должно быть ? По моим понятиям : если дбл то не клик, а если клик то не дбл. :-/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 21:33 |
|
||
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
Restavraciya, я думаю также, что если дбл то не клик, а если клик то не дбл. Но у меня эффект противоположный вашему (не работает дбл, а только клик). Хотя в случае срабатывания клик и дбл клик можно прежположить, что дбл клик (теоретически!) содержит событие клик и дбл клик одновременно (т.к. наверно VB засекает первое нажатие кнопки мыши и трактует его как клик). Пробывал на разных ПК с разными процессорами (от 1,8 до 3,0 ГГц), следовательно, от скорости ПК это не зависит, менял настройки дбл клика в Windows - эффекта ноль. Остается предположить, что есть какие-то настройки в Windows или в самом VB6 (что вероятнее всего), которые влияют на это событие и у нас с Вами по разному установлены эти настройки. Смысла копать далее наверно нет. Переопределю эту процедуры на правую кнопку мыши тогда. Спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2009, 00:40 |
|
||
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
В обоих случаях, я думаю, пишут одинаковые программы как для DblClick() и Click(), тогда результат будет прогнозируемым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2009, 13:04 |
|
||
|
Пропадает событие DblClick
|
|||
|---|---|---|---|
|
#18+
sademКто-нибудь сталкивался с такой проблемой? С такой проблемой нет, но Clipboard очень ведет себя капризно. Я реализовал общения между программами таким образом: есть прога.ехе (VB) которая дает указание другой ехе проге на VB. Другая в свою очередь может запускаться сколько нужно раз, при помощи передачи командной строки удалось назначить нумерацию для открытой проги-исполнителя. Сделав загрузку с сайта на диск прога как-то должна сообщить первой о том что закончила загрузку и закрыться. Тогда первая вновь открывает её но дает уже следующее задание. Как общаются ? При помощи Clipboard. Каприз в том, что после передачи значения в буфер, оно не совсем мгновенно там оказывается. Даже бывает такое что буфер не может быть открыт в данный момент. Выдает ошибку. Как бороться ? Поставил в таймер с секундной выдержкой и полностью механизм какого-либо действия навесил туда. Ошибка? обходим. Одна прога с спец скриптом сумирует буфер независимо что в нем было до этого, а первая прога также в таймере постоянно ищет скрыпт и просто вырезает его не задев остальной информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2009, 12:33 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35830741&tid=2161315]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 193ms |
| total: | 309ms |

| 0 / 0 |
