| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > выходит за пределы окна |
| Автор: Гость_tonic 15.3.2005, 09:29 |
| Вобщем существует проблема, сделал подобие "пятнашек" на рабочем столе, НО возникла кой-какая проблемка: при движении влево и вверх квадратика(за границы экрана), он как бы отскакивает от границы экрана, а при перемещении вправо и вниз он просто переходит на другую сторону экрана Вот что-то я и не могу решить как от этого избавится. Подскажите пожалуйста, кто знает как сделать чтобы квадратик так же отскакивал и от других сторон экрана, и наоборот чтобы он мог "выходить" за пределы дисплея слева и сверху. Заранее благодарю! |
| Автор: Guest 15.3.2005, 09:32 |
| для более визуального понимания сказанного сделаное мной можно скачать пример можно скачть здесь: http://ktirc.x-3m.info/zip/Desktop_15.zip |
| Автор: Snowy 15.3.2005, 10:19 |
| Просто контролируй границы экрана, чтобы за них не выходило. Так и должно быть, если ты указываешь отрисовку за пределами экрана, то такой перенос и будет. Контролируй вручную. Размеры экрана известны. Или не рисуй, если выходит за пределы, или обрезай изображение, чтобы рисовалась только та часть, которая влезает на экран. |
| Автор: eii111 12.4.2005, 18:14 |
| Я делаю так procedure SetClip; var ClipRect: TRect; begin ClipRect.Left:=0; ClipRect.Top:=0; ClipRect.Right:=100; ClipRect.Bottom:=100; with ClipRect do IntersectClipRect(Canvas.Handle,Left,Top,Right,Bottom); end; procedure ReSetClip; begin try SelectClipRgn(Canvas.Handle,0); except end; end; |