Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Текущие координаты мыши (число прочтений - 16780 )
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 записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



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

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

Если указано "2", то координаты для вывода меню беруться через ::GetCursorPos().
У меня лично ни с ТабличнымПолем, ни с другими реквизитами такой проблемы не возникает.
  

FormEx developer
Наверх
www  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

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

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

Если указано "2", то координаты для вывода меню беруться через ::GetCursorPos().
У меня лично ни с ТабличнымПолем, ни с другими реквизитами такой проблемы не возникает.


А если курсор мыши, допустим, в правом углу экрана
Нажимаем WinKey или Shift+F10 и меню появляется в правом углу экрана
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1537
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Текущие координаты мыши
Ответ #17 - 08. Мая 2007 :: 11:59
Печать  
Chieftain писал(а) 08. Мая 2007 :: 11:56:
А если курсор мыши, допустим, в правом углу экрана
Нажимаем WinKey или Shift+F10 и меню появляется в правом углу экрана

Именно так. Чего, как говорится, просишь, то и получаешь.
  

FormEx developer
Наверх
www  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #18 - 08. Мая 2007 :: 12:01
Печать  
Цитата:
Chieftain писал(а) 08. Мая 2007 :: 11:56:
А если курсор мыши, допустим, в правом углу экрана
Нажимаем WinKey или Shift+F10 и меню появляется в правом углу экрана

Именно так. Чего, как говорится, просишь, то и получаешь.


А я хочу получить координаты мыши, проверить их с координатами текущей ячейки ТП и показать меню там где это нужно
  
Наверх
ICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Текущие координаты мыши
Ответ #19 - 08. Мая 2007 :: 12:09
Печать  
(18) тебе ж сказали пройдись по форуму.
вопрос по мышке уже поднимался.
а момент номер 2.
ну непопала мышка на нужные координаты.
что тоди куда меню цеплять то будешь?
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #20 - 08. Мая 2007 :: 12:10
Печать  
varelchik писал(а) 08. Мая 2007 :: 12:09:
а момент номер 2.
ну непопала мышка на нужные координаты.
что тоди куда меню цеплять то будешь?


К координатам текущей ячейки
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #21 - 08. Мая 2007 :: 12:16
Печать  
Цитата:
К координатам текущей ячейки

О-о-очень далеко мы ушли от первого твоего вопроса.
Попробую сформулировать его за тебя.
"Как вывести контекстное меню, привязанное к текущей ячейке ТабличногоПоля?".
Так, что ли?
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #22 - 08. Мая 2007 :: 12:20
Печать  
Это частный случай.

Причем если рассматривать его в таком контексте, то необходимо добавление в Сервис.ВыбратьЗначение() возможности указания координат для вывода в меню...

PS такое, кстати было в ВК "Accel" - "ВывестиМеню (КоординатаИкс,КоординатаИгрек>)"

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



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

Причем если рассматривать его в таком контексте, то необходимо добавление в Сервис.ВыбратьЗначение() возможности указания координат для вывода в меню...

PS такое, кстати было в ВК "Accel" - "ВывестиМеню (КоординатаИкс,КоординатаИгрек>)"


Это как раз самый трудный случай.

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


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #24 - 08. Мая 2007 :: 12:31
Печать  
vip писал(а) 08. Мая 2007 :: 12:25:
А вот меню, выпадающее без привязки к мыше или активному элементу, выглядит странновато и пугающе УлыбкаОчень довольный


Почему это?
На событие "ПриКонтекстномМеню" делаешь проверку координат мыши и текущей ячейки ТП
Если мышь в области ячейки, то
   
Код
Выбрать все
Сервис.ВыбратьЗначение(Список,Выб,"",0,2)  


Если мышь вне области ячейки, то
   
Код
Выбрать все
    КоординатаИкс=КоординатаИксТекущейЯчейкиТП;
    КоординатаИгрек=КоординатаИгрекТекущейЯчейкиТП;
    Сервис.ВыбратьЗначение(Список,Выб,"",0,""+КоординатаИкс+":"+КоординатаИгрек)
     



+И все на своих местах
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #25 - 08. Мая 2007 :: 12:37
Печать  
Цитата:
КоординатаИксТекущейЯчейкиТП

Вот про это подробнее, плиз.
Что-то не помню я метода определения координат текущей ячейки ТП.
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #26 - 08. Мая 2007 :: 12:41
Печать  
vip писал(а) 08. Мая 2007 :: 12:37:
Цитата:
КоординатаИксТекущейЯчейкиТП

Вот про это подробнее, плиз.
Что-то не помню я метода определения координат текущей ячейки ТП.


А как же это?
Цитата:
Синтаксис: ПолучитьГраницыТекущейЯчейки(чЛево, чВерх, чПраво, чНиз, флПривязка = 0)

Параметры: чЛево, тип: Число
чВерх, тип: Число
чПраво, тип: Число
чНиз, тип: Число
флПривязка, тип: Число
0: экранные координаты
1: клиентские координаты

Возвращает: 0: границы получить невозможно
1: границы успешно получены

Описание: Возвращет координаты текущей ячейки ТП
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #27 - 08. Мая 2007 :: 12:48
Печать  
Цитата:
Синтаксис: ПолучитьГраницыТекущейЯчейки(чЛево, чВерх, чПраво, чНиз, флПривязка = 0)

А... Забыл. Издержки отставания документации.
Еще раз повторю, что твой вопрос (в последней редакции) касается непосредственно ТП.
В остальных случаях возможностей FormEx более, чем достаточно.
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #28 - 08. Мая 2007 :: 12:52
Печать  
vip писал(а) 08. Мая 2007 :: 12:48:
Цитата:
Синтаксис: ПолучитьГраницыТекущейЯчейки(чЛево, чВерх, чПраво, чНиз, флПривязка = 0)

А... Забыл. Издержки отставания документации.
Еще раз повторю, что твой вопрос (в последней редакции) касается непосредственно ТП.
В остальных случаях возможностей FormEx более, чем достаточно.


Почему он касается только ТП?

По-моему возможносто показа меню в конкретных координатах лишней не будет. Да и изменить там совсем немного.

А вопрос получения текущих координат мыши будет востребован не только для данного вопроса.

Плюс эти два небольших изменения решат и эту частную задачу.
Я не прав?
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #29 - 08. Мая 2007 :: 13:04
Печать  
Может и прав.
У меня фантазии не хватает найти такому практическое применение.
Может АЛьФ как-то сформулирует?
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1537
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Текущие координаты мыши
Ответ #30 - 08. Мая 2007 :: 13:06
Печать  
Если откровенно, то не убедил в необходимости получения текущих координат мыши отдельным специальным методом.
Если уж очень хочется, то ни кто не мешает глобально отслеживать перемещение мыши и хранить текущие координаты в глобальных переменных. По мере надобности их оттуда считывать.
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #31 - 08. Мая 2007 :: 13:09
Печать  
Тогда уж проси добавить и все mouse_event, и SetCursorPos, раз пошла такая пьянка.
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

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


Но постоянный вызов "ПриДвиженииМыши" наверняка вызовет притормаживание.
А отдельный метод вызывается однократно - при необходимости.

Хотя, в принципе, это я и сам могу сделать отдельной ВК. Но зачем лишние ВК грузить?
А вопрос добавления в "ВыбратьЗначение" координат для показа меню можно реализовать?
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #33 - 08. Мая 2007 :: 13:12
Печать  
vip писал(а) 08. Мая 2007 :: 13:09:
Тогда уж проси добавить и все mouse_event, и SetCursorPos, раз пошла такая пьянка.


Что значит "все mouse_event"?
Установка курсора в принципе тоже не помешает. Но реальной необходимости не возникало.

PS... Надо ведь только сделать обертку для WinApi.... даже с существующими объектами это не связано....
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #34 - 08. Мая 2007 :: 13:14
Печать  
Цитата:
Что значит "все mouse_event"?

MOUSEEVENTF_ABSOLUTE = &H8000
MOUSEEVENTF_LEFTDOWN = &H2
MOUSEEVENTF_LEFTUP = &H4
MOUSEEVENTF_MIDDLEDOWN = &H20
MOUSEEVENTF_MIDDLEUP = &H40
MOUSEEVENTF_MOVE = &H1
MOUSEEVENTF_RIGHTDOWN = &H8
MOUSEEVENTF_RIGHTUP = &H10
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #35 - 08. Мая 2007 :: 13:18
Печать  
vip писал(а) 08. Мая 2007 :: 13:14:
Цитата:
Что значит "все mouse_event"?

MOUSEEVENTF_ABSOLUTE = &H8000
MOUSEEVENTF_LEFTDOWN = &H2
MOUSEEVENTF_LEFTUP = &H4
MOUSEEVENTF_MIDDLEDOWN = &H20
MOUSEEVENTF_MIDDLEUP = &H40
MOUSEEVENTF_MOVE = &H1
MOUSEEVENTF_RIGHTDOWN = &H8
MOUSEEVENTF_RIGHTUP = &H10


В принципе здесь тоже можно сделать через битовую маску как и в
Цитата:
СО>)

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #36 - 08. Мая 2007 :: 13:21
Печать  
Цитата:
В принципе здесь тоже можно сделать через битовую маску как и в

Нет. Я имею ввиду добавить методы НажатьЛевуюКнопку, ДвинутьМышу() и т.д.
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #37 - 08. Мая 2007 :: 13:25
Печать  
vip писал(а) 08. Мая 2007 :: 13:21:
Цитата:
В принципе здесь тоже можно сделать через битовую маску как и в

Нет. Я имею ввиду добавить методы НажатьЛевуюКнопку, ДвинутьМышу() и т.д.


В принципе это тоже несложно
Но... я спрашивал о возможности реализации конкретных методов.
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Текущие координаты мыши
Ответ #38 - 08. Мая 2007 :: 13:26
Печать  
Цитата:
В принципе это тоже несложно

В принципе, давно использую Смех
  
Наверх
ICQ  
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #39 - 08. Мая 2007 :: 13:29
Печать  
vip писал(а) 08. Мая 2007 :: 13:26:
Цитата:
В принципе это тоже несложно

В принципе, давно использую Смех


Говорил-же уже в #32 - могу и сам сделать. Но "ВыбратьЗначение" я не поправлю)
  
Наверх
ICQ  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Текущие координаты мыши
Ответ #40 - 21. Февраля 2019 :: 23:56
Печать  
Код (C++)
Выбрать все
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Made by AAA
Процедура ПолучитьКоординатыМыши(X,Y) Экспорт
	Перем Wrapper,HEAP_ZERO_MEMORY,pRECT,pClassName;
	Wrapper = CreateObject("DynamicWrapperX");
	Wrapper.Register("USER32.DLL", "GetCursorPos", "i=p", "r=l");
	Wrapper.Register("kernel32.DLL","HeapAlloc","i=lll","r=l");
	Wrapper.Register("kernel32.DLL","GetProcessHeap","r=l");
	hHeap 		= Wrapper.GetProcessHeap();
	HEAP_ZERO_MEMORY=8;
	pClassName 	= Wrapper.HeapAlloc(hHeap, HEAP_ZERO_MEMORY, 256);
	pRECT = Wrapper.HeapAlloc(hHeap, 0, 16);
	Wrapper.GetCursorPos(pRECT);
	x = Wrapper.NumGet(pRECT, 0);
	y = Wrapper.NumGet(pRECT, 4);
КонецПроцедуры 



Код (C++)
Выбрать все
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Made by AAA
Процедура УстановитьКоординатыМыши(X,Y) Экспорт
	Перем Wrapper;
	Wrapper = CreateObject("DynamicWrapperX");
	Wrapper.Register("USER32.DLL", "SetCursorPos", "i=ll", "f=s", "r=l");
	Wrapper.SetCursorPos(X,Y);
КонецПроцедуры 

  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать