Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.18;
Скачать: CL | DM;

Вниз

Как не дать мыше уйти с компонента   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
14-58423
NNN
2003-08-02 18:03
2003.08.18
REGISTRACIJA PROGRAMM


14-58453
Иван Михалев
2003-08-02 01:09
2003.08.18
Бесплтаный хостинг


14-58383
Miralex
2003-08-04 14:32
2003.08.18
как сохранить в файл тип Record


14-58466
Julliete
2003-07-23 17:35
2003.08.18
Удаление всех записей из таблицы


14-58439
syte_ser78
2003-07-31 15:47
2003.08.18
Удаление записи из ДБ