|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.10.2013, 11:16 | #1 |
Пользователь
Регистрация: 06.10.2013
Сообщений: 20
|
Сделать так ,чтобы мышка не выходила за рамки программы.
Собственно как сделать ,чтобы мышка не выходила за рамки программы?
|
13.10.2013, 11:33 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
В событии окна OnMpuseLeave получать координаты, приводить к координатам формы, определять, с какой стороны мышка, и возвращать мышку к краю границы формы.
|
13.10.2013, 11:44 | #3 |
Пользователь
Регистрация: 06.10.2013
Сообщений: 20
|
|
13.10.2013, 12:00 | #4 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
google.ru/получить координаты мыши
google.ru/изменить координаты мыши
alextrof94$gmail.com
|
13.10.2013, 12:38 | #5 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
Цитата:
Y - От верхнего края к нижнему. Перевернутая координатная сетка, в общем. Далее проверки: Если X < Form.Left тогда //Проверка выхода за предел слева X = Form.Left + 1 Если Y < Form.Top тогда //Проверка выхода за предел вверху Y = Form.Top + 1 Если X > (Form.Left+Form.width) тогда //Проверка выхода за предел справа X = Form.Left+Form.width - 1 Если Y > (Form.Top+Form.Height) тогда //Проверка выхода за предел снизу Y = Form.Top+Form.Height - 1 Теперь туже переменную типа TPoint применяем с помощью SetMousePos, предварительно обработав её Form.ClientToScreen. Все, а код пишите сами =) |
||
13.10.2013, 12:45 | #6 |
Пользователь
Регистрация: 06.10.2013
Сообщений: 20
|
У меня почему-то в событиях формы нету события onMouseLeave. Что делать?
|
13.10.2013, 12:50 | #7 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Ограничение движения мыши на экране считается ОЧЕНЬ дурным тоном программирования.
|
13.10.2013, 13:10 | #8 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,830
|
На самом деле для ограничения мыши в каком-либо прямоугольнике есть функция ClipCursor. Но само такое ограничение в обычной программе является наидурнейшим стилем программирования, совершенно согласен.
В разработке: воспроизводственный контур ИТ
|
13.10.2013, 15:03 | #9 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Есть два варианта, при которых можно ограничить курсор:
виртуальная машина, динамическая игра в окне. Но судя по вопросу это ни то ни другое.
alextrof94$gmail.com
|
13.10.2013, 18:13 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Это даже не дурной тон, а дилетанская попытка не дать пользователю выйти из формы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать так чтобы приложение базы данных работала на компьютерах без установленной программы delphi? | Даниил_глазко | БД в Delphi | 6 | 09.11.2010 16:26 |
Как можно самому сделать так, чтобы программы грузились с диска, до загрузки ОС? | Лукманов Александр | Софт | 1 | 18.04.2009 12:14 |