Проблемы с обработкой сообщений Tray

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SVL
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 19.12.2002 (Чт) 11:37
Откуда: Russia

Проблемы с обработкой сообщений Tray

Сообщение SVL » 03.04.2003 (Чт) 17:34

Всем привет! Пишу программу, которая большую часть времени проводит в фоновом режиме, для ее активации помещаю в трей значок программы. На компьютере, где установлен VB никаких проблем не возникает, все отлично работает. Устанавливаю ее с помощью SF 6.0 на другой компьютер. Программа работает, но при щелчке мышью на трее не активизируется. :( Проверил Spyем - окно сообщение получает. При помещении в обработку события MsgBox - не срабатывает. Никто не знает, в чем может быть проблема? :roll:

Gigahard
Бывалый
Бывалый
 
Сообщения: 253
Зарегистрирован: 24.07.2002 (Ср) 11:15
Откуда: Russia

Re: Проблемы с обработкой сообщений Tray

Сообщение Gigahard » 04.04.2003 (Пт) 0:58

2SVL: Приведи твой код обработки событий с треем.

SVL
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 19.12.2002 (Чт) 11:37
Откуда: Russia

Сообщение SVL » 04.04.2003 (Пт) 8:36

В структуре NID:
NID.uCallbackMessage = WM_LBUTTONDOWN

В обработчике формы:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Static bPressed As Boolean
If y = 0 Then ' SysTray Icon Events
Select Case x
Case 512 * TpX ' MouseMove
Case 513 * TpX ' LeftButtonDown
Case 514 * TpX ' LeftButtonUp
Case 515 * TpX ' LeftDblClick
Show
Case 516 * TpX ' RightButtonDown
bPressed = True
Case 517 * TpX ' RightButtonUp
If bPressed Then
Me.PopupMenu mnuFile
bPressed = False
End If
Case 518 * TpX ' RightButtonDblClick
End Select
Exit Sub
End If

End Sub
TpX изначально: TpX = Screen.TwipsPerPixelX


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList