828
社区成员
发帖
与我相关
我的任务
分享
float px,py;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ImageViewer1MouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, float X, float Y)
{
px=X;
py=Y;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ImageViewer1MouseMove(TObject *Sender, TShiftState Shift,
float X, float Y)
{
if(Shift.Contains(ssLeft))
ImageViewer1->ScrollBy(X-px,Y-py);
}
//---------------------------------------------------------------------------
ScrollBy滚动的太灵敏了,我希望的是移动图片(X-px,Y-py)像素,有没有方法?
如果ScrollBy时参数乘于一个系数,系数不好计算,因为图片大小不一样。[/quote]
ScrollBy没法精确地控制移动,比如移动时在图片某区域停止。float px,py;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ImageViewer1MouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, float X, float Y)
{
px=X;
py=Y;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ImageViewer1MouseMove(TObject *Sender, TShiftState Shift,
float X, float Y)
{
if(Shift.Contains(ssLeft))
ImageViewer1->ScrollBy(X-px,Y-py);
}
//---------------------------------------------------------------------------
ScrollBy滚动的太灵敏了,我希望的是移动图片(X-px,Y-py)像素,有没有方法?
如果ScrollBy时参数乘于一个系数,系数不好计算,因为图片大小不一样。