Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как ограничить передвижение мыши границами формы? [D5, Win95/98, WinXP]


Максим ©   (2003-04-01 09:33:00) 

Господа!
Есть загвоздка. Как при запуске проги ограничить передвижения мыши по экрану только границами формы. Можно попробовать через хук MOUSEPROC, но в Lparam она передает не координаты мыщи, а какуюто ссылку (помоему). Или еще как-то?


Максим   (2003-04-01 14:36:00) [1]

Большое сенк. Вся загвоздка была в PMouseHookStruct(lParam).pt.x
Насчет этого я как - то не додумался.Не знал как передать ссылку на структуру


Polevi   (2003-04-01 12:36:00) [2]

type
PMouseHookStruct=^TMouseHookStruct
TMouseHookStruct=record
pt:TPoint;
hwnd:THandle;
wHitTestCode:UINT;
dwExtraInfo:DWORD;
end;

PMouseHookStruct(lParam).pt.x


Polevi   (2003-04-01 12:30:00) [3]

LRESULT CALLBACK MouseProc(
int nCode, // hook code
WPARAM wParam, // message identifier
LPARAM lParam // mouse coordinates
);

lParam
Pointer to a MOUSEHOOKSTRUCT structure.

typedef struct tagMOUSEHOOKSTRUCT { // ms
POINT pt;
HWND hwnd;
UINT wHitTestCode;
DWORD dwExtraInfo;
} MOUSEHOOKSTRUCT;


Максим   (2003-04-01 11:31:00) [4]

а как в хуке вытащить координаты курсора?
Lparam содержит ссылку на структуру MOUSEHOOKSTRUCT или сами данные? Если ссылку, простите за тормоза, голова уже не варит, то как потом получить эти координаты с нее. Буду любезен за небольшой пример


Polevi   (2003-04-01 10:31:00) [5]

хук нормально работает


Игорь Шевченко   (2003-04-01 09:35:00) [6]

ClipCursor, но это плохой дизайн.


Наверх

Титульная страница Поиск, карта сайта Написать письмо