![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прокрутка изображения [D7, Win2k]
seregka © (2005-03-30 15:07:00)У меня допустим есть изображение 2032х1524
НА форме у Image я ставлю 300х300. Как мне можно мышом прокрутить изображение исходного размера в пределах этих границ.
@!!ex (2005-03-30 17:39:00) [21]P.S. Все сообщения, естественно, относительно Image.
Если ты хочешь, чтобы мышой по картинке двигали.
@!!ex (2005-03-30 17:36:00) [22]Значица так. Объясняю. Может чего не правильно будет, не обусудь, с компонентами уже давно не работал.
И так:
Делаешь TBitMap размером 2032х1524.
Грузишь в него свою картинку.
Создаешь переменные:
BitMap:TBitMap;
XShift:integer = 0;
YShift:integer = 0;
MouseX,MouseY:integer;
На OnPaint Imag'a следующий код:
BitBlt(Image.Canvas.Handle,0,0,300,300,BitMap,XShift,YShift,SRC_COPY);
На MouseDown:
MouseX:=X;
MouseY:=Y;
На MouseUp:
MouseX:=0;
MouseY:=0;
На MouseMove:
XShift:=XShift+MouseX-X;
YShift:=YShift+MouseY-Y;
if XShift<0 then XShift:=0;
if XShift>2032-300 then XShift:=1732;
if YShift<0 then YShift:=0;
if YShift>1524-300 then YShift:=1224;
Image.Refresh;
За рабочесть кода не отвечаю, писал его без компилятора поблизости, но суть такая.