![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.08.2009
Сообщений: 10
|
![]()
И снова привет!!! На этот раз я хотел бы спросить у вас вот что.:
Я установил хук на отлов положения мышки.И при нахождении мышки в определённом месте в приложении PictureEditor (на компоненте Image) он должен срабатывать.Это место - прямоугольник размером примерно 150-300 пикселей, от левого края он в 200-х пикселей, а от нижнего в 50 пикс.Я так понял, что нужно сначала в проге назначить хэндл окна, в к-ром находится эта обасть 150-300 пикс. и от левого и нижнего края а потом в программе написать эти параметры. И при запуске PictureEditor'a должен стартовать мой хук, арабатыать хук должен при нахождении мыши в области 150-300 пикс.Как это сделать???.Извините, что всё так сумбурно расписано - эта мышь меня уже сёдня достала! Help!!! |
![]() |
![]() |
![]() |
#2 | |
Пользователь
Регистрация: 24.08.2009
Сообщений: 42
|
![]()
вот пример с панелью сделайте тоже самое для Image Delphiworld 6.0
Цитата:
icq 580047636 You're WELCOME!!!
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.07.2008
Сообщений: 279
|
![]()
CM_MOUSEENTER и CM_MOUSELEAVE - сообщения, которые генерирует VCL, в windows такого нет.
WindowFromPoint() - получить хендл окна прд курсором; GetClassName() - что бы определить имя класса; ScreenToClient() - если будешь переводить координаты;
Сказал и загрустил от бесспорности своей правоты.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 14.08.2009
Сообщений: 10
|
![]()
Havok, пасиб, но ты привел код для своей проги, а у меня установлен хук на запуск чужой.То есть запускается Picture Manager( это не моя прога!) и устанавливается мой хук.Как это сделать?А в ней хук должен срабатывать в определённой области.Как это сделать?
0nni, мне не нужно получать хендл под курсором, он должен быть залит в программе.Жду помощи! |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
![]()
Используйте функцию GetCursorPos(p), где p : TPoint
Функция возвращает значения p.x - координата Х и p.y - координата Y курсора мыши . Проверяете попадание p.x и p.y в нужную область и создаете необходимый обработчик события.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.07.2008
Сообщений: 615
|
![]() Код:
xor eax, eax
xchg [eax], eax |
![]() |
![]() |
![]() |
#7 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
юзайте FindWindow и FindWindowEx и потом сравнивайте позицию мыши с позицией нужного компонента
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 14.08.2009
Сообщений: 10
|
![]()
Я себе представляю эту прогу так:
if Запускается приложение(Picture Manager) then begin устанавливается хук end; if Курсор над областью приложения(150,300) then begin срабатывает хук end; А теперь как это реализовать??? Пробовал так: if FindWindow(nil,'Picture Manager')<> 0 then start hook// это экспорт хука из уже написанной мною библиотеки; Но ничего не получается, при запуске Picture Manager'a ничего не происходит.((( |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование мышки | Vistar | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 26.04.2009 18:06 |
Скроллинг мышки | Dmitriy | Общие вопросы Delphi | 1 | 26.10.2008 23:23 |
Ловушка на клаву(нужно немного улутшить ее) | xshStasX | Win Api | 2 | 11.08.2008 15:50 |
колЁсико мышки | Experementator | Общие вопросы Delphi | 3 | 05.05.2008 16:31 |
Программа для работы с мышкой!Информация о координатах, кнопках мышки!!! | metamfetamin | Помощь студентам | 7 | 09.12.2007 12:01 |