Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

Как 


.: Joiro :.   (2002-01-19 13:12) [0]

Subj и есть вопрос - у меня на форме стоит Shape и надо сделать так, что если кликнуть внутри его и ташить мышь то за пределы не пойдёт. Я могу что-то другое удержывать (происходит перетаскивание чего-то), но не сам курсор, а надо как раз это.

Может кто знает? Зараенее спасибо.



Serghei   (2002-01-19 15:14) [1]

Читай в хелпе про: КлипКурсор!

The ClipCursor function confines the cursor to a rectangular area on the screen. If a subsequent cursor position (set by the SetCursorPos function or the mouse) lies outside the rectangle, Windows automatically adjusts the position to keep the cursor inside the rectangular area.

BOOL ClipCursor(

CONST RECT *lpRect // pointer to structure with rectangle
);


Parameters

lprc

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.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError
.

Remarks

The cursor is a shared resource. If an application confines the cursor, it must release the cursor by using ClipCursor before relinquishing control to another application.
The calling process must have WINSTA_WRITEATTRIBUTES access to the window station.

See Also

GetClipCursor, GetCursorPos, RECT, SetCursorPos

Удачи



.: Joiro :.   (2002-01-19 15:34) [2]

Во! Спасибо. А то я искал по "Set cursor position" и ничего дельного не нашёл. Иду пробовать... :)



Serghei   (2002-01-19 15:37) [3]

Давай-Давай! :o)))
Удачи!



.: Joiro :.   (2002-01-19 15:56) [4]

Даа... я всё же застрял в стадии чайника - не удаётся правильно установить область - прямоугольник. Может можно пример, если не трудно?



.: Joiro :.   (2002-01-19 21:09) [5]

ОТБОЙ. :)

Окей, разобрался всё же! Простые прямоугольники можно переделать в WinAPI дружественние прямоугольники при помоши символа @. Ещё раз спасибо за наводку.

Если интересно что же получилось, то вот скриншот (да, ненормально - чайник делает какую-то странную штуковину): http://www.ltn.lv/~joiro/SG.PNG
Теперь когда удержывается кнопка курсор не покидает картинку и можно рисовать. Хей! :)



Serghei   (2002-01-21 09:26) [6]

Если бы ты был чайником то не делал бы эти вещи :о)))) не надо себя недооценивать :о))))



Serghei   (2002-01-21 09:29) [7]

Да еще одно можешь передавать через @ или же объявить переменную типа указателя r : PRect;

Удачи




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.025 c
6-8959            UnderSun              2001-11-09 14:56  2002.02.04  
Про выделенную линию


14-8979           Hermit                2001-12-11 20:06  2002.02.04  
Interbase


1-8900            Леванё                2002-01-16 13:00  2002.02.04  
Пояему не работает null


1-8888            tormoz                2002-01-16 21:19  2002.02.04  
Как добавить определённую иконку в SysImageList?


1-8845            Eraser                2002-01-21 10:58  2002.02.04  
Где sleep