Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
ВнизКак не дать мыше уйти с компонента Найти похожие ветки
← →
dez (2003-08-04 20:15) [0]Есть TImage. Если юзвер вдавил левую кнопку мыши, то курсор не уходит за пределы имаджа. Реально ли такое сделать?
Зареннее сенькс.
← →
Kair (2003-08-04 20:30) [1]Не делал, но возможно так:
if ssLeft in Shift then
ClipCursor(&Image1.{чета насчет TRect});
← →
dez (2003-08-04 20:48) [2]а обратно?
← →
dez (2003-08-04 20:49) [3]тьфу, что-то я к концу рабочего дня туплю. rect задать 0,0,screen.width,screen.height
← →
Rouse_ (2003-08-04 20:53) [4]
// Ставим
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
R: TRect;
P: TPoint;
begin
if ssLeft in Shift then
begin
P := ClientToScreen(Point(Image1.Left, Image1.Top));
with P, Image1 do
begin
R.Left := X;
R.Top := Y;
R.Right := X + Width;
R.Bottom := Y + Height;
end;
ClipCursor(@R);
end;
end;
// Снимаем
procedure TForm1.Image1Click(Sender: TObject);
begin
( nil)
// Ставим
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
R: TRect;
P: TPoint;
begin
if ssLeft in Shift then
begin
P := ClientToScreen(Point(Image1.Left, Image1.Top));
with P, Image1 do
begin
R.Left := X;
R.Top := Y;
R.Right := X + Width;
R.Bottom := Y + Height;
end;
ClipCursor(@R);
end;
end;
// Снимаем
procedure TForm1.Image1Click(Sender: TObject);
begin
ClipCursor(nil);
end;
Желаю успехов
← →
Anatoly Podgoretsky (2003-08-04 20:55) [5]GetClipCursor
← →
Rouse_ (2003-08-04 21:04) [6]> Anatoly Podgoretsky © (04.08.03 20:55)
Анатолий, мне кажется, Вы поторопились. Ваша функция всего-лишь возвращает адрес структуры содержащей координаты области ограничивающей перемещения курсора.
> dez (04.08.03 20:49)
А вот так нельзя делать, представьте что пользователь изменил разрешение экрана на более высокое. Тогда при таком подходе он не сможет переместить курсор вплотную к границам экрана.
Если прочитать внимательно справку, то можно увидеть:
Points to the RECT structure that contains the screen coordinates of the upper-left and lower-right corners of the confining rectangle. If this parameter is NULL, the cursor is free to move anywhere on the screen.
Соответсвенно, верный код будет:ClipCursor(nil);
Желаю успехов
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.002 c