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

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

Мыша [D5, Win95/98, Win2k]


BJValentine ©   (2002-07-08 20:08:00) 

Ребята, есть помпонента на форме TPanel. Как можно сделать так, чтобы мыша не могла выйти за пределы этой компоненты?


BJValentine   (2002-07-09 12:26:00) [1]

Спасибо


Skier   (2002-07-09 11:38:00) [2]

>BJValentine


procedure SetCursorClipRect(const AControl: TWinControl);

function GetScreenClientRect(const AControl: TControl): TRect;
var
APoint : TPoint;
begin
SetRectEmpty(Result);
if AControl = nil then Exit;
APoint := Point(0, 0);
APoint := AControl.ClientToScreen(APoint);
with Result do begin
Left := APoint.X;
Top := APoint.Y;
Right := Left + AControl.ClientWidth;
Bottom := Top + AControl.ClientHeight;
end; //with
end;


var
ARect : TRect;
begin
if AControl = nil then begin
ClipCursor(nil);
Exit;
end; //if
ARect := GetScreenClientRect(AControl);
ClipCursor(@ARect);
end;


Использование SetCursorClipRect(Panel1) - установить
SetCursorClipRect(nil) - снять


BJValentine   (2002-07-09 11:31:00) [3]

Да как этим ClipCursor пользоваться? Что должно быть в качестве параметров? Приведите хоть оди маленький примерчик с ClipCursor, please!!!


kull   (2002-07-09 01:29:00) [4]


> Billy © (08.07.02 23:15)

Да - ClipCursor. Только не забыть вызвать ее со старыми координатами, а то мыша так и будет в пределах этого Rect - а двигаться. Сам напарывался на это - очень неудобно потом одной клавиатурой работать. :)


Billy   (2002-07-08 23:15:00) [5]

По-моему была такая функция ClipCursor, но может я что-то путаю


BJValentine   (2002-07-08 21:12:00) [6]

А пример можно, я ещё никогда не работал с такой фишкой, трудно зацепиться...


MsGuns   (2002-07-08 20:48:00) [7]

OnMouseMove Event. Сравнивать координаты мыши с TRect`ом панели, ну и дальше понятно..


Наверх

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