Tray: Об операторе And и связанных с ним недоразумениях

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SnAIper
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 09.09.2005 (Пт) 23:01
Откуда: Mytischi Текущий язык: VB, ПЗС

Tray: Об операторе And и связанных с ним недоразумениях

Сообщение SnAIper » 13.12.2005 (Вт) 0:26

Здравствуйте. Извиняюсь за боян, и прошу удалить тему сразу же по объяснении вопроса.

А суть вопроса в следующем:
Я скачал класс для работы с треем v0.9, А.Щербакова. Какое-то время он работал корректно, но потом(все затаили дыхание и ждут моего ламерского финта) - я ничего в этом классе, да и в событии cTray_OnIcon(MouseButton as Integer) ничего про сам трей не менял, хотя как раз оно-то тут и не при чём.

Долго ли, коротко, смотрю - программа не реагирует на щелчки по иконке, и это если учесть, что всё остальное просто летает, и не глючит, даже тот же злополучный cTray. Так или иначе, нашёл корень зла - CallEvent(X As Single, Y As Single). Это который определяет, куда щёлкнули, и какой кнопкой. Странные вещи в следующем: если событие на иконке в трее(наведение, щелчек, да что угодно), а не на форме - то сторка
Код: Выделить всё
MouseButton = (X And &HFF) / Screen.TwipsPerPixelX

всегда возвращает 0(TrayIcon_Mouse_NoButton). X обычно при этом равен 512, &HFF = *Не скажу - байан! кто не знает - тот простит :D *, а TwipsPerPixelX = 15. Конкретно - X And &HFF = 0, конкретно в данной строке, хотя я тестил в while от 1 до тысячи, и вроде там нулей не было... хз.
Естественно, после этого в процедуру идёт ноль, а это не очень-то хорошо - ведь я же туда ещё и нажимаю!

Просьба - объясните, как так произошло, сверял с оригинальной процедурой - нифига не изменилось, а возвращать ни с того ни с сего стало 0. Что ещё могло повлиять... и...

...и главное, как эту байду справадить и вернуть первоначальный эффект? Спасибо.
C# в топку. С++ рулит.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.12.2005 (Вт) 5:12

Не знаю, кто такой А. Щербаков, и не видел его класса версии 0.9, однако спрошу: сей класс реагирует на свои иконки или вообще на все?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Re: Tray: Об операторе And и связанных с ним недоразумениях

Сообщение codemaster » 13.12.2005 (Вт) 9:31

SnAIper писал(а):А суть вопроса в следующем:
Я скачал класс для работы с треем v0.9, А.Щербакова. .


А где можно ознакомиться с творением А.Щербакова?
:wink:
//<-
Mit freundlichen Grüßen
//->

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.12.2005 (Вт) 9:35

А код правильно показан?
Потому что Single и логические операции выглядят немного непонятно.
Lasciate ogni speranza, voi ch'entrate.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 13.12.2005 (Вт) 16:17

Класс глючный, но вот пример рабочего кода...
Вложения
MyTray.rar
(4.26 Кб) Скачиваний: 49
Последний раз редактировалось keks-n 13.12.2005 (Вт) 16:30, всего редактировалось 1 раз.
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 13.12.2005 (Вт) 16:24

GSerg писал(а):Не знаю, кто такой А. Щербаков, и не видел его класса версии 0.9, однако спрошу: сей класс реагирует на свои иконки или вообще на все?


Если бы на все... цены бы ему не было! Но к сожалению только со своей(макс. по одной на форму).
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.12.2005 (Вт) 16:41

Чё это по одной-то...

Ну вот я когда-то очень давно писал, к примеру...
Вложения
SysTray.zip
Tray
(5.13 Кб) Скачиваний: 58
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SnAIper
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 09.09.2005 (Пт) 23:01
Откуда: Mytischi Текущий язык: VB, ПЗС

Сообщение SnAIper » 13.12.2005 (Вт) 22:58

Благодарю, тему можно удалять, дабы не замусоривать поиск :)
C# в топку. С++ рулит.


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

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

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 46

    TopList