Консультация № 21977
09.06.2005, 16:35
0.00 руб.
0 3 3
Здравствуйте!
Рисую jpeg на форме через: Form1.Canvas.Draw...
Размеры формы, допустим 800х600. Загружаемые jpeg разного
размера и всегда больше размера формы. Масштабировать не надо.
Внимание, вопрос! :-))
Как "зацепить" левым кликом мыши рисунок и перетянуть/протянуть его (вверх/вниз/диагональ) для отображения невидимой в данный момент (за пределами формы) части.
Благодарствую заранее, Иван!

Обсуждение

Неизвестный
09.06.2005, 17:07
общий
это ответ
Здравствуйте, _!
Тут был подобный вопрос. На событие OnMouseMove выичсляешь новое положение относительно текущего. За основу берешь X и Y, которые попадают в процедуру. Определяешь находится ли курсок м ректе картинки (PtInRect). Определяешь нажата ли кнопка (это тоже поподает в процедуру). А дальше перерисовываешь свой jpeg в новой позиции. Все. Это не только с картинками, но и с любым контролом можно делать.
Неизвестный
09.06.2005, 18:43
общий
это ответ
Здравствуйте, _!
Думаю, здесь будет лучше сделать так: поместить на форму TScrollBox (Additional), на него TImage. У TImage поставить AutoSize=True. Затем не рисовать на канве, а загружать изображение в TImage, которое само заставит ScrollBox научиться показывать остальные "невидимые" части.
давно
Мастер-Эксперт
425
4118
10.06.2005, 04:22
общий
это ответ
Здравствуйте, _!
Дык если Вы рисуете прямо на форме, то сделайте полосы прокрутки. У формы они есть.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Форма ответа