![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как ограничить передвижение мыши границами формы? [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, но это плохой дизайн.