Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: События Click DblClick. Помогите пожалуйста! Добавлено: 23.02.06 20:44  

Автор вопроса:  Arwen | Web-сайт: lena-arwen.narod.ru
Очень прошу помочь:

Требуется написать программу, которая по событиям Click и DblClick перемещает форму в разные положения на экране.

Однако вместо двойного щелчка срабатывает одинарный.:-(

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

Ответить

  Ответы Всего ответов: 19  

Номер ответа: 1
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #1
Добавлено: 23.02.06 21:47
Дык а тут время срабатывания двойного нажатия в самой винде скорее
всего тоже влияет, ну сделай одно событие по двойному, а одинарный
убери.

Ответить

Номер ответа: 2
Автор ответа:
 Arwen



Вопросов: 1
Ответов: 4
 Web-сайт: lena-arwen.narod.ru
 Профиль | | #2
Добавлено: 23.02.06 23:06
Убрать невозможно, в этом суть задания... Прошу прощения за ламерство но надо реализовать конкретно вот эту задачу:

Создать программу, состоящую из двух форм. Главная форма должна иметь две кнопки управления: показать вторую форму и выйти из программы. Вторая форма должна иметь одну кнопку для возврата в главную форму. Вторая форма должна появляться на экране так, чтобы ее левый верхний угол совпадал с правым нижним углом первой. При щелчке мышью на второй форме она должна перемещаться вокруг первой по часовой стрелке (из исходного положения - в положение, когда правый верхний угол второй формы совпадает с левым нижним первой), при двойном щелчке - против часовой стрелки. В заголовок первой формы выводить ее координаты, в заголовок второй - каким углом она касается первой.

Меня интересует только как избежать конфликта двух событий. Т.е. как, скажем, при помощи таймера, проверять последует ли за одинарым щелчком еще один в коротком интервале времени, или нет.

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 23.02.06 23:19
хук мыши на WM_LBUTTONDBLCLK

Ответить

Номер ответа: 4
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #4
Добавлено: 24.02.06 08:56
Вот отсюда смотри

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _
x As Single, y As Single)

' События, связанные с иконкой можно узнать по координате X
If x / Screen.TwipsPerPixelX = WM_MOUSEMOVE Then
    IconData.szTip = Label1.Caption & Chr(0)
    Shell_NotifyIcon NIM_MODIFY, IconData
End If

If x / Screen.TwipsPerPixelX = WM_RBUTTONDOWN Then
    Text1.Text = Winsock1.LocalIP
    Form1.Visible = True
End If

If x / Screen.TwipsPerPixelX = WM_LBUTTONDOWN Then
    Form1.Visible = False
End If

If x / Screen.TwipsPerPixelX = WM_LBUTTONDBLCLK Then
    End
End If

End Sub


Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 24.02.06 16:17
root, о великий бог VB программирования, просвети плиз меня и всех
остальных как твой шмот кода относится к поставленной задачи?

Ответить

Номер ответа: 6
Автор ответа:
 Arwen



Вопросов: 1
Ответов: 4
 Web-сайт: lena-arwen.narod.ru
 Профиль | | #6
Добавлено: 24.02.06 18:08
Я к сожалению тоже не поняла, поэтому можно переформулирую вопрос, как оперируя возможностями VB 6.0, реализовать мою прогу...

А если совсем кокретнее - то как используя объект Таймер реализовтаь процедуру - если после первого клика через 0,5 секунд еще один клик - то мы делаем одно, если за этот интервал времени ничего не произошло, то мы делаем другое?

Ответить

Номер ответа: 7
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #7
Добавлено: 24.02.06 19:37
Для примера привел как можно использовать

WM_RBUTTONDOWN
WM_LBUTTONDOWN
WM_LBUTTONDBLCLK

А тебе смотрю всё и все не нравятся, лишь бы кого нить покритиковать!
Спокойно не живется.
Тебя ни кто не замечает и ты злишься...
Я себя спокойно веду и тебе того же советую

Ответить

Номер ответа: 8
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #8
Добавлено: 24.02.06 20:02
Dim Temp
Temp=Time+30
Do While Time<Temp
DoEvents
Loop


Ответить

Номер ответа: 9
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #9
Добавлено: 24.02.06 20:07
Да. Бяка редкостная.

Предлагаю сделать так (забыв о даблклике):
*Ставим таймер на время, чуть-чуть превышающее интервал даблклика.
*При щелчке запускаем таймер.
*При двойном щелчке делаем поворот в нужном направлении и тормозим таймер.
*А в событии таймер поворачиваем форму в другом нужном направлении и тормозим таймер.

Это решение не самое приятное, но думаю сойдет.

Ответить

Номер ответа: 10
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #10
Добавлено: 24.02.06 20:09
Фу. Вот это
(забыв о даблклике)
я неправильно написал. Вычеркнуть надо.

Ответить

Номер ответа: 11
Автор ответа:
 Arwen



Вопросов: 1
Ответов: 4
 Web-сайт: lena-arwen.narod.ru
 Профиль | | #11
Добавлено: 24.02.06 20:10
Victor, [root], HACKER огромное спасибо, будут еще идеи - с удовольствием почитаю! ;-)

Ответить

Номер ответа: 12
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #12 Добавлено: 24.02.06 20:27
какой таймер? какой поворт? шо там тормозим??? :)) Вы чё все с дуба
рухнули? Смотрите примеры хука мыши! там даблклик ловится, сообщение =
той константе что я привёл, найти константу в апи вьювере...

Ответить

Номер ответа: 13
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #13 Добавлено: 24.02.06 20:27
угага :) ты привёл пример использования константы? Но даже описания их
не дал.. и говоришь что ты привёл какой-то там пример :)) Короче от
фонаря кинул шмот кода в котором нашёл похожие буковки :))))

Ответить

Номер ответа: 14
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #14
Добавлено: 24.02.06 22:11
да согласен, не совсем полностью код дал, а ты бы темы почитал прежде
чем бросаться словами, прочитай что нужно было сделать, поймешь, что
повернуть и зачем

Ответить

Номер ответа: 15
Автор ответа:
 Arwen



Вопросов: 1
Ответов: 4
 Web-сайт: lena-arwen.narod.ru
 Профиль | | #15
Добавлено: 24.02.06 22:19
Все спасибо всем, программа написана и ссориться не надо. Вы мне действительно ооочень помогли!

Особое спасибо Victor-у именно так прогу я и релизовала!

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам