我在scollbox中放了一个image,图片超出显示的范围,
1.如何能让方向键(上下左右)可以移动图片;
2.如何实现让鼠标滑轮可以移动图片。

解决方案 »

  1.   

    OnMouseWheelUp
    OnMouseWheelDown
    OnKeyDown
    中写代码改变位置!但要注意要将各可视控件的TabStop全都设为False!否则方向键会改变焦点,导致下面的代码都无效!
      

  2.   

    不就是改变Left,Top吗?还能有什么?再加上判断语句,让其不要大于0,不要小于其父控件的长宽减Image的长宽!
      

  3.   

    移到Image不行吗?
    Image1.Left:=Image1.Left+1;
      

  4.   

    抱歉,可能我题目叙述的不清楚image在scollbox中,可以看到全图,但要移动滚动条来实现,而我想要通过移动方向键实现滚动条的功能,移动鼠标滑轮实现上下浏览图片的功能
      

  5.   

    Sendmessage(ScrollBox1.Handle,WM_HSCROLL,SB_LINELEFT,0);
    Sendmessage(ScrollBox1.Handle,WM_HSCROLL,SB_LINERIGHT,0);
    Sendmessage(ScrollBox1.Handle,WM_VSCROLL,SB_LINEUP,0);
    Sendmessage(ScrollBox1.Handle,WM_VSCROLL,SB_LINEDOWN,0);
    或者
    ScrollBox1.HorzScrollBar.Position:=ScrollBox1.HorzScrollBar.Position+1;
    ScrollBox1.HorzScrollBar.Position:=ScrollBox1.HorzScrollBar.Position-1;
    ScrollBox1.VertScrollBar.Position:=ScrollBox1.HorzScrollBar.Position+1;
    ScrollBox1.VertScrollBar.Position:=ScrollBox1.HorzScrollBar.Position-1;
    还有
    ...方法太多了!关键是思路要开阔!