Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Вниз

Можно ли передвинуть курсор так...   Найти похожие ветки 

 
Knight   (2003-11-21 01:12) [0]

..., чтобы не свершиловь событие MouseMove?


 
Knight   (2003-11-21 10:06) [1]

Приложение реагирует на SetCursorPos()... кто знает ещё функции для работы с сабжем?


 
Knight   (2003-11-21 10:44) [2]

Неужели система не может определить где программный сдвиг, а где реальное движение мыши?


 
NeyroSpace   (2003-11-21 11:21) [3]

А разве приложение мышь ловит? Оно вроде сообщения ловит. Хотя наверное можно к драйверу обращатся...


 
REA   (2003-11-21 11:23) [4]

:) WM_MouseJump


 
Игорь Шевченко   (2003-11-21 11:25) [5]

Непонятная задача. Зачем ?


 
PVOzerski   (2003-11-21 11:34) [6]

Если речь идет о событиях в смысле VCL, а не о сообщенияхв смысле Windows, самое простое - временно переназначить обработчик onMouseMove.


 
Knight   (2003-11-21 12:38) [7]

В общем, в проге обрабатывается onMouseMove (пробовал WM_MOUSEMOVE, эффект тот же) там берутся координаты мыши и обрабатываются. В этой же проге по таймеру происходит позиционирование курсора в зависимомти от полученных в муве координат. Короче, при позиционировании, вызывается onMouseMove и получается, что мыш не позиционируется, а ползёт самопёхом, пока не выйдет за пределы формы... это конечно прикольно, но задумака несколько иная... :)

Надо, чтобы прога реагировалиа на реальное движение мыши, а не на программное позиционирование курсора, но для тех событий которые я знаю, это одно и тоже. Причём описанные выше вещи должны работать совместно, т.е. переназначение onMouseMove не подходит. Может кто знает, событие которое происходит только при движении самой мыши?


 
REA   (2003-11-21 12:48) [8]

>по таймеру происходит позиционирование курсора
как вариант - запоминать куда позиционировал - если не туда, значит оно само.


 
PVOzerski   (2003-11-21 12:57) [9]

Я же говорил, теперь конкретизирую:

во обработчике onTimer делаем:
OldOnMouseMove:=onMouseMove;
onMouseMove:=nil;
...(делаем позиционирование курсора)...
onMouseMove:=OldOnMouseMove;


 
Knight   (2003-11-21 14:49) [10]

>> PVOzerski © (21.11.03 12:57) [9]
Не то это...

Вот событие onKeyPress передаёт в параметрах, то какая клавиша нажата, ДО того как она будет обработана и если она не удовлетворяет условиям, то можно её обнулить как будь-то её и небыло... у формы есть onCanResize, который даёт возможность узнать новые размеры окна, ДО того как окно измениться с возможностью запрета... так почему-же для мыши нет возможности узнать куда она будет передвинута и отменить перемещение если что-то не так? Или есть, но я его не нашёл?


 
PVOzerski   (2003-11-21 15:00) [11]

А если GetCursorPos употребить внутри таймерного обработчика?


 
Knight   (2003-11-21 15:05) [12]

А как клип работает? Он ведь от куда-то знает, что курсор при следующем перемещении выйдет за пределы области... и не пускает.


 
NeyroSpace   (2003-11-21 15:11) [13]

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


 
Knight   (2003-11-21 17:11) [14]

Ни одна не останавливает курсор в приложении, т.е. получается, что все они сперва обрабатываются системой, перемещающей курсор, а после система ставит об этом в известность все остальные приложения... :(


 
Knight   (2003-11-21 17:14) [15]

Нашёл тут два хука WH_MOUSE_LL и WH_HARDWARE, первого нет ни в модуле, ни в хэлпе, второй есть в модуле, но описания в хэлпе нет... Может кто слыхал о таких?


 
han_malign   (2003-11-21 17:28) [16]

Всегда обходились без всяких хуков:
if((OldPoint.X<>X)or(OldPoint.Y<>Y))then begin
if(x...)then x:=...;
if(y...)then y:=...;
OldPoint:=Point(x,y);
SetCursorPos(x,y);
end;



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
14-52402
Olga_Oo
2003-11-21 10:16
2003.12.16
файлы


3-52076
BlackCat
2003-11-23 17:18
2003.12.16
Проблема с БД


14-52375
SageDragon
2003-11-17 17:45
2003.12.16
подскажите аналогичные команды в VСи++


7-52428
Rentgen
2003-10-09 15:39
2003.12.16
Class TPageControl not found


1-52179
Слэша
2003-12-05 13:34
2003.12.16
Combobox D7 и Win 98





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский