Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.46 MB
Время: 0.003 c
14-58440
Shluz
2003-08-02 00:05
2003.08.18
Хороший программист родился или стал??


14-58498
wonderu
2003-08-01 15:42
2003.08.18
Освобождение памяти


14-58484
galexis
2003-07-23 16:49
2003.08.18
Как внести в поле БД запись с , (запятой)


14-58434
VID
2003-08-02 17:05
2003.08.18
Разгон PII 450MHz до макс значения (550MHZ)


14-58448
Buffoon
2003-08-01 22:50
2003.08.18
как запустить IE с апределенным URL ом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский