Подскажите! как кратно масштабировать через IMAGE ?
А кому нужно быстро перемещаться по картинке (как в графических редакторах) выведенной через IMAGE с помощью мышки см. пример
Точки вставки для прокрутки картинки мышкой
Код: Выделить всё
!************** Local Data *********************
!---------перемещение картинки-----
fl_no byte !нажал отжал кнопку
tt1 long !скрол тумба
tt2 long !
px long ! позиция
py long !
!-----------------------------------
***********Windows
REGION,AT(5,6,287,240),USE(?Region1),IMM,CURSOR('handgrab.cur')
IMAGE,AT(3,3,301,255),USE(?Image1),HVSCROLL,#ORIG(?Image1)
********** EVENT:MouseMove (вешается на свойство региона)***********
!управление перемещением картинки ?Region -- EVENT:MouseMove
! пошло движение
of EVENT:MouseMove
if fl_no
if MouseX()>tt1
?Image1{prop:hscrollpos}=255-(px+(MouseX()-tt1)) !горизонталь
elsif MouseX()<tt1
?Image1{prop:hscrollpos}=255-(px-(tt1-MouseX())) !горизонталь
end
if Mousey()>tt2
?Image1{prop:vscrollpos}=255-(py+(Mousey()-tt2)) !вертикаль
elsif Mousey()<tt2
?Image1{prop:vscrollpos}=255-(py-(tt2-Mousey())) !вертикаль
end
end
of EVENT:MouseUp !кнопка отжата
fl_no=0
of EVENT:MouseDown !нажата левая кнопка
fl_no=1
tt1=MouseX() !горизонталь запомнить
tt2=Mousey() !вертикаль
px=255-?Image1{prop:hscrollpos} !горизонталь
py=255-?Image1{prop:vscrollpos} !вертикаль
!------------------------------------------------------
С уважением,
Евгений г.Дубна mailto:deesoftprog1@list.ru
(Добавление)
Привет
Можно так:
Код: Выделить всё
Scale routine
case choice(?Scale) !dropbox с выбором масштаба
of 1 !по ширине страницы
?Image{PROP:MaxWidth} = QuickWindow{PROP:ClientWidth} -
GetSystemMetrics(SM_CXVSCROLL)
?Image{PROP:MaxHeight} = QuickWindow{PROP:ClientHeight} -
GetSystemMetrics(SM_CXHSCROLL)
of 2 !100%
?Image{PROP:MaxWidth} = Loc:ImageWidth
?Image{PROP:MaxHeight} = Loc:ImageHeight
of 3 !50%
?Image{PROP:MaxWidth} = Loc:ImageWidth / 2
?Image{PROP:MaxHeight} = Loc:ImageHeight / 2
.end
exit
(Добавление)
спасибо Михаил!
То что надо

Евгений
Написал: ClaList(2)