Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Текущие координаты мыши (число прочтений - 16782 )
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Текущие координаты мыши
08. Мая 2007 :: 10:47
Печать  
Есть ли какой-нибудь метод для получения текущий координат мыши
В принципе, в FormEx есть событие "ПриДвиженииМыши", но хотелось бы получать текущее состояние и координаты мыши по запросу.
Такое возможно?
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #1 - 08. Мая 2007 :: 11:00
Печать  
Chieftain писал(а) 08. Мая 2007 :: 10:47:
Есть ли какой-нибудь метод для получения текущий координат мыши
В принципе, в FormEx есть событие "ПриДвиженииМыши", но хотелось бы получать текущее состояние и координаты мыши по запросу.
Такое возможно?

По какому запросу?
У всех мышиных событий есть параметры возвращающие координаты мышиного курсора и битовую маску состояния клавиш (ПриОтжатииЛевойКнопки, ПриНажатииПравойКнопки и т.д.)
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #2 - 08. Мая 2007 :: 11:01
Печать  
vip писал(а) 08. Мая 2007 :: 11:00:
Chieftain писал(а) 08. Мая 2007 :: 10:47:
Есть ли какой-нибудь метод для получения текущий координат мыши
В принципе, в FormEx есть событие "ПриДвиженииМыши", но хотелось бы получать текущее состояние и координаты мыши по запросу.
Такое возможно?

По какому запросу?
У всех мышиных событий есть параметры возвращающие координаты мышиного курсора и битовую маску состояния клавиш (ПриОтжатииЛевойКнопки, ПриНажатииПравойКнопки и т.д.)


А если необходимо получить эти параметры, например "ПриНажатииКнопкиКлавиатуры"?
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #3 - 08. Мая 2007 :: 11:04
Печать  
Цитата:
А если необходимо получить эти параметры, например "ПриНажатииКнопкиКлавиатуры"?

Не то что-то ты затеял. Я сейчас нажал кнопку клавиатуры, мой кот, лежащий рядом, вздрогнул и курсор мыши сместился. Улыбка
Что хочешь сделать то?
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #4 - 08. Мая 2007 :: 11:09
Печать  
vip писал(а) 08. Мая 2007 :: 11:04:
Цитата:
А если необходимо получить эти параметры, например "ПриНажатииКнопкиКлавиатуры"?

Не то что-то ты затеял. Я сейчас нажал кнопку клавиатуры, мой кот, лежащий рядом, вздрогнул и курсор мыши сместился. Улыбка
Что хочешь сделать то?


Просто не раз требовалось, да как-то обходился...
Самый простой пример - контекстное меню привязывать либо к активному элементу, либо в мышке
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1537
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Текущие координаты мыши
Ответ #5 - 08. Мая 2007 :: 11:14
Печать  
Chieftain писал(а) 08. Мая 2007 :: 11:09:
vip писал(а) 08. Мая 2007 :: 11:04:
Цитата:
А если необходимо получить эти параметры, например "ПриНажатииКнопкиКлавиатуры"?

Не то что-то ты затеял. Я сейчас нажал кнопку клавиатуры, мой кот, лежащий рядом, вздрогнул и курсор мыши сместился. Улыбка
Что хочешь сделать то?


Просто не раз требовалось, да как-то обходился...
Самый простой пример - контекстное меню привязывать либо к активному элементу, либо в мышке

Это автоматом реализуется через Сервис::ВыбратьЗначение().
Тоже слабо представляю в каких случаях это надо. Приведи конкретный пример.
  

FormEx developer
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #6 - 08. Мая 2007 :: 11:15
Печать  
Цитата:
Просто не раз требовалось, да как-то обходился...
Самый простой пример - контекстное меню привязывать либо к активному элементу, либо в мышке

Ничего не понял.
Если привязывать меню к мышке, то ПриОтжатииПравойКнопки(Сост,X,Y,ФCO) идеально подходит.
Если к активному элементу, то при чем здесь мышь?
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #7 - 08. Мая 2007 :: 11:18
Печать  
А если меню вызвано по "Shift+F10"?
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1537
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Текущие координаты мыши
Ответ #8 - 08. Мая 2007 :: 11:20
Печать  
Цитата:
ВыбратьЗначение(<?>,,,,)
ChooseValue(<?>,,,,)
Синтаксис:
ВыбратьЗначение(<СписокЗначений>,<Значение>,<Заголовок>,<СпособВыбора>,<Флаг>)
Назначение:
Метод предназначен для интерактивного выбора значения из списка. Является расширением штатного метода ВыбратьЗначение объекта СписокЗначений.
Возвращает 1 в случае успеха (выбор произведен), 0 - в противном случае.
Пареметры:
<СписокЗначений> - список значений, из которого необходимо произвести выбор;
<Значение> - идентификатор переменной, куда помещается результат выбора;
<Заголовок> - строка заголовка диалогового окна;
<СпособВыбора> - число, значение которого задает способ выбора значения:
0 - выбор в виде многоуровневого меню; 1 - выбор в виде дерева.
<Флаг> - необязательный параметр.
Для выбора в дереве: 1 - разрешить выбор групп; 0 - запретить.
Для выбора в меню: 0 - простой выбор; 1 - пометка значений; 2 - простой выбор
(без привязки к активному реквизиту); 3 - пометка значений (без привязки к активному
реквизиту). Значение по умолчанию - 0.
Если указано значение из разряда без привязки к активному реквизиту, то меню
показывается в текущей позиции курсора мыши.
Замечание:
Многоуровневость обеспечивается списками значений, вложенными в основной (см. пример).
Если выбор производится в меню, то значения с представлением - воспринимаются как
разделители.
Пример:
Сервис = СоздатьОбъект("Сервис");
Список = СоздатьОбъект("СписокЗначений");
Список.ДобавитьЗначение(1,"Пункт 1");
Список.ДобавитьЗначение(2,"Пункт 2");
Список.ДобавитьЗначение(3,"Пункт 3");
Список.ДобавитьЗначение(4,"Пункт 4");
Список.ДобавитьЗначение(0,"-");
// создаем вложенный список
СписокДоп = СоздатьОбъект("СписокЗначений");
СписокДоп.ДобавитьЗначение(551,"Пункт 51");
СписокДоп.ДобавитьЗначение(552,"Пункт 52");
СписокДоп.ДобавитьЗначение(553,"Пункт 53");
СписокДоп.ДобавитьЗначение(554,"Пункт 54");
// добавляем вложенный список
Список.ДобавитьЗначение(СписокДоп,"Пункт 5");
Список.ДобавитьЗначение(6,"Пункт 6");
Список.ДобавитьЗначение(7,"Пункт 7");
Выб = ;
Если Сервис.ВыбратьЗначение(Список,Выб,"Тестовый выбор значения",0) = 1 Тогда
       Сообщить(Выб);
КонецЕсли;


Обрати особое внимание на слова "2 - простой выбор (без привязки к активному реквизиту); 3 - пометка значений (без привязки к активному реквизиту)".
  

FormEx developer
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #9 - 08. Мая 2007 :: 11:23
Печать  
Добавить к ответу АЛьФа нечего Улыбка
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #10 - 08. Мая 2007 :: 11:30
Печать  
Да это я прекрасно знаю...

Тогда скажите по контекстному меню для табличного поля
Процедура "ПриКонтекстномМеню" отрабатывает на правый клик, Shift+F10, WinKey
Вызываем "Сервис.ВыбратьЗначение(Список,Выб,"",0,2)" и получаем меню в противоположной стороне от табличного поля
Что делать здесь?
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #11 - 08. Мая 2007 :: 11:32
Печать  
+ если делать "Сервис.ВыбратьЗначение(Список,Выб,"",0,0)" и получаем меню под табличным полем
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #12 - 08. Мая 2007 :: 11:36
Печать  
Chieftain писал(а) 08. Мая 2007 :: 11:30:
Да это я прекрасно знаю...

Тогда скажите по контекстному меню для табличного поля
Процедура "ПриКонтекстномМеню" отрабатывает на правый клик, Shift+F10, WinKey
Вызываем "Сервис.ВыбратьЗначение(Список,Выб,"",0,2)" и получаем меню в противоположной стороне от табличного поля
Что делать здесь?

Это проблема не FormEx, а именно ТабличногоПоля.
Поищи, было здесь недавно про это.
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #13 - 08. Мая 2007 :: 11:39
Печать  
Цитата:
Это проблема не FormEx, а именно ТабличногоПоля.
Поищи, было здесь недавно про это.

Искал - ничего похожего не нашел
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #14 - 08. Мая 2007 :: 11:47
Печать  
Цитата:
Искал - ничего похожего не нашел

Было похожее, точно.
Над ТабличнымПолем срабатывает именно его мышиный хук.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать