Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Установить кусор мыши по заданным координатам (число прочтений - 4853 )
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Установить кусор мыши по заданным координатам
08. Декабря 2017 :: 18:23
Печать  
Народ, может кто подскажет как в 7.7 позиционировать курсор мыши?
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #1 - 11. Декабря 2017 :: 08:45
Печать  
Код (C++)
Выбрать все
Процедура УстановитьКоординатыМыши(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 записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #2 - 12. Декабря 2017 :: 14:28
Печать  
Всё ОК!!!!
Спасибо, буду дальше смотреть эту библиотеку)
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #3 - 13. Декабря 2017 :: 08:38
Печать  
DynamicWrapperX - это обертка для использования WinAPI. Т.е. на самом деле ты используешь WinAPI.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #4 - 16. Декабря 2017 :: 08:56
Печать  
Спасибо еще раз. Может подскажешь ещё как этим средством устанавливать курсор (системный, из файла), а то в семерке formex работает очень не стабильно.
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


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

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #5 - 04. Января 2018 :: 10:33
Печать  
Ну, вообще говоря, я это Formex-ом и делаю:

Код (C++)
Выбрать все
Сервис=СоздатьОбъект("Сервис");
Сервис.УстановитьКурсор(13); 



А получаю тип курсора враппером:

Код (C++)
Выбрать все
Враппер = СоздатьОбъект("DynamicWrapperX");
Враппер.Register("USER32.DLL","GetCursor","r=l");
Курсор = Враппер.GetCursor(); //Определяем тип курсора 



Только надо учитывать тот факт, что тип курсора в разных системах может возвращать разный результат. Т.е. курсор с виду один, а код возращается разный.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #6 - 09. Января 2018 :: 14:20
Печать  
Функция УстановитьКурсор() у formex'а отказывается менять курсор при зажатой левой кнопки. Да и в семерке не стабильна. Поэтому и ищу альтернативные возможности...
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установить кусор мыши по заданным координатам
Ответ #7 - 10. Января 2018 :: 05:40
Печать  
recop писал(а) 09. Января 2018 :: 14:20:
Функция УстановитьКурсор() у formex'а отказывается менять курсор при зажатой левой кнопки. Да и в семерке не стабильна. Поэтому и ищу альтернативные возможности...


А в чем выражается нестабильность?
И как это менять курсор при зажатой левой кнопке?

У меня все стабильно работает больше 10 лет.
Курсор можно менять для всей формы и для отдельных атрибутов.

Можно системный по номеру (см. als), можно из файла, можно прямо хэндл твоего курсора передавать (если ты хранишь свои курсоры где-нибудь в ресурсах.
  
Наверх
ICQ  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #8 - 10. Января 2018 :: 12:03
Печать  
vip писал(а) 10. Января 2018 :: 05:40:
...
У меня все стабильно работает больше 10 лет.
...


У меня тоже... на XP. Может моя windows 7 еще в процессе получения обновлений?
Посмотрим. Поймаю, сразу отпишусь и опишу.

Но при зажатой левой клавише УстановитьКурсор() и на XP не работала.
Зачем мне это надо? Смотри, например, в MS Word режим рисование->линия->изменение узлов. Аналогично и мне необходимо обозначить создание узла под курсором при начале движения мыши.

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установить кусор мыши по заданным координатам
Ответ #9 - 11. Января 2018 :: 04:41
Печать  
Ты в 1С какую задачу хочешь решить?
Опиши подробней.
  
Наверх
ICQ  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #10 - 11. Января 2018 :: 19:08
Печать  
Проще показать:

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установить кусор мыши по заданным координатам
Ответ #11 - 12. Января 2018 :: 07:01
Печать  
Кгрхм...
Даже не знаю, что сказать  Нерешительный
  
Наверх
ICQ  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #12 - 13. Января 2018 :: 09:40
Печать  
vip писал(а) 12. Января 2018 :: 07:01:
Кгрхм...
Даже не знаю, что сказать  Нерешительный


И всё?... Озадачен
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 633
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #13 - 13. Января 2018 :: 10:20
Печать  

recop
попробуй так

афКурсор.УстановитьКоординаты(х,у,1,1);
афКурсор.УстановитьКурсор(Курсор);

где афКурсор атрибут формы кнопка

использовал такое чтобы перехватить курсор у йокселя
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Установить кусор мыши по заданным координатам
Ответ #14 - 24. Января 2018 :: 11:43
Печать  
Обязательно попробую, отпишусь. Пока не могу отвлекаться (сплошная геометрия).
Спасибо!
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать