Имя: Пароль:
1C
1C 7.7
v7: FormEx. ПриНажатииЛевойКнопки, в глобальном модуле, ловит не верные координаты.
0 Asakra
 
06.10.15
08:46
Возможно есть другой способ определить текущие координаты курсора? Может кто подскажет какую-нить ВК!?

Объясню зачем оно надо.
Есть справочники не более 100 элементов, на них руководство накладывает ограничения (каждый пользователь выбирает только свои элементы). Так же требуется выбор из списка с фильтром подобно LIKE. Для этого используется Svcsvc.dll
Все работает, но размер списка не удовлетворял размерам. Размер увеличели, но на не которых ПК этот список не влазил на экран, точнее он заходит за края глобального окна и компонента сама сдвигает список над полем, что естественно вызывало не удобства. Там где выбор осуществляется из поля формы, проблема была решена, с помощью координат поля - теперь список динамически меняет размер, до максимального значения в зависимости от края глобального окна.
Теперь остались множественные фильтры в отчетах, там не откуда взять координаты, кроме как от курсора....
1 Vippi
 
06.10.15
09:24
(0) Почему неверные? Как ты ловишь FormEx'ом координаты мыши?
2 Asakra
 
06.10.15
09:31
(1) ловлю так
Процедура ПриДвиженииМыши(Конт, СостояниеКнопки, Х, У, ФСО)
    
    глКоординатыКурсора.Х = Х;
    глКоординатыКурсора.У = У;
    
КонецПроцедуры // ПриДвиженииМыши()
3 Asakra
 
06.10.15
09:32
не верные т.к. У всегда равен 200 с копейками, где бы не ткнуть...
4 Asakra
 
06.10.15
09:33
(1) сори набрехал :)
Процедура ПриНажатииЛевойКнопки(Конт, СостояниеКнопки, Х, У, ФСО)
    
    глКоординатыКурсора.Х = Х;
    глКоординатыКурсора.У = У;
    
КонецПроцедуры // ПриНажатииЛевойКнопки()

эт я уже и так пробовал
5 Asakra
 
06.10.15
09:34
ПриДвиженииМыши У всегда разный, но не точный :(
6 Vippi
 
06.10.15
09:48
У меня все нормально работает.
Ты вот так > Процедура ПриНажатииЛевойКнопки(Конт, СостояниеКнопки, Х, У, ФСО)

точно в глобальном модуле вызываешь?
И зачем в глобальном, а не в модуле формы?
7 Asakra
 
06.10.15
09:53
(6) точно в глобальном :)
не хочется писать в каждой форме...
8 Vippi
 
06.10.15
10:00
> У всегда равен 200 с копейками, где бы не ткнуть

Где бы не ткнуть в любом месте окна 1С или окна обработки?
9 Vippi
 
06.10.15
10:01
Попробуй напиши процедуру не в глобальнике.
Результат такой же?
10 Asakra
 
06.10.15
10:19
(9) все тоже самое... про У обманул он меняется, но показания не верные. например, тыкаю на заголовок формы (форма не во весь экран, в центре), а в ПриНажатииЛевойКнопки У = -17
ну и соответственно при нажатии на кнопку в МФ список вываливается в левой верхней части экрана (Х тоже не верный)...
щас отключу расчеты, проверю на голом Х и У, может че я не то делаю..
11 Гёдза
 
06.10.15
10:23
(10) А может у относительно формы, а не общего окна?
12 Vippi
 
06.10.15
10:47
(11) Не может, а так оно и есть.
13 Asakra
 
06.10.15
10:53
(12) тогда получается ни как не рассчитать сколько осталось до края главного окна?
14 Asakra
 
06.10.15
14:17
может все таки кто-то знает ВК, которая возвращает реальные координаты курсора?
15 Asakra
 
06.10.15
19:02
Всем Спасибо!
Вопрос решен.