标题:如何实现 在vfp表单中用鼠标点击,移动图片到该位置
只看楼主
山狼LS
Rank: 2
来 自:河南商丘
等 级:论坛游民
威 望:1
帖 子:83
专家分:31
注 册:2015-9-9
结帖率:90%
 问题点数:0 回复次数:10 
如何实现 在vfp表单中用鼠标点击,移动图片到该位置
点击鼠标去坐标值我会,怎么实现让表单中某控件慢慢移动到点击的位置?
搜索更多相关主题的帖子: 图片 如何 
2015-09-20 12:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
在鼠标事件中算Left和top可以吗?
2015-09-20 14:22
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:55
帖 子:2004
专家分:7306
注 册:2007-12-17
得分:0 
以下是引用吹水佬在2015-9-20 14:22:17的发言:

在鼠标事件中算Left和top可以吗?

虽然我只懂web开发,但我觉得这个思路是正确的

那一年,苍井空还是处女
2015-09-20 15:22
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
得分:0 
虽然我只是团小组长,但我觉得下面这个示例是正确的

oForm = Createobject("TestForm")
oForm.Show(1)
Return

Define Class TestForm As Form
    Height = 400
    Width = 400
    AutoCenter = .T.
    xOffSet = 0
    yOffSet = 0
    Caption = "拖拉图像移动到该位置"

    Add Object Image1 As Image With;
        Height = 200, Width = 200, Top = 20, Left = 20, Stretch = 1, ;
        Picture = Getpict("JPG|GIF", "图像文件", "确定")  && 选择一个图像文件

    Procedure Image1.MouseMove
        Lparameters nButton, nShift, nXCoord, nYCoord
        If nButton = 1
            Thisform.xOffSet = nXCoord - This.Left
            Thisform.yOffSet = nYCoord - This.Top
            This.Drag
        Endif
    Endproc

    Procedure Image1.DragDrop
        Lparameters oSource, nXCoord, nYCoordgDrop
        This.Parent.DragDrop(oSource, nXCoord, nYCoordgDrop)
    Endproc

    Procedure DragDrop
        Lparameters oSource, nXCoord, nYCoord
        oSource.Left = nXCoord - Thisform.xOffSet
        oSource.Top = nYCoord - Thisform.yOffSet
    Endproc
Enddefine

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2015-09-20 20:03
山狼LS
Rank: 2
来 自:河南商丘
等 级:论坛游民
威 望:1
帖 子:83
专家分:31
注 册:2015-9-9
得分:0 
回复 3楼 外部三电铃
谢谢,我开始也是这样想的,但是不可以运算的

有人能,我就能!
2015-09-20 21:13
山狼LS
Rank: 2
来 自:河南商丘
等 级:论坛游民
威 望:1
帖 子:83
专家分:31
注 册:2015-9-9
得分:0 
回复 4楼 aaaaaa
不知道这些代码怎么用?刚入门

有人能,我就能!
2015-09-20 21:33
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
得分:0 
Ctrl+A, Ctrl+C, Ctrl+V
另存为:Test.Prg 文件
然后:Do Test.Prg

好像应该可能猜想是这样子的。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2015-09-20 21:55
hepingfly
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:15
帖 子:195
专家分:657
注 册:2015-5-21
得分:0 
** 运行下面代码,是否符合要求
PUBLIC oform1,nx1,nx2,ny1,ny2,xh
xh="*"
oform1=NEWOBJECT("form1")
oform1.Show
RETURN

DEFINE CLASS form1 AS form
    Top = 59
    Left = 82
    Height = 454
    Width = 780
    DoCreate = .T.
    Caption = "Form1"
    Name = "Form1"

    ADD OBJECT image1 AS image WITH ;
        Picture = "apps.bmp", ;
        Stretch = 2, ;
        BackStyle = 0, ;
        Height = 21, ;
        Left = 552, ;
        Top = 48, ;
        Width = 18, ;
        Name = "Image1"

    PROCEDURE Init
         nx1=thisform.image1.Left
         ny1=thisform.image1.top
    ENDPROC

    PROCEDURE MouseMove
        LPARAMETERS nButton, nShift, nXCoord, nYCoord
          nx2=nXCoord
          ny2=nYCoord
    ENDPROC

    PROCEDURE Click
         with thisform
             .currentX=nx2
             .currentY=ny2
             .Print(xh)
              ns=100000
              for n=1 to ns
                 .image1.Left=nx1+n*((nx2-nx1)/ns)
                 .image1.top=ny1+n*((ny2-ny1)/ns)
             endfor
          endwith
             nx1=nx2
             ny1=ny2
    ENDPROC
ENDDEFINE

星际花草
2015-09-22 00:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用山狼LS在2015-9-20 21:33:57的发言:

不知道这些代码怎么用?刚入门

能解剖示例一定会用。
2015-09-22 08:17
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
得分:0 
移动控件
在表单Form1中添加一个图像控件IMAGE1。
Form1.Init 代码
  Public nXX,nYY

IMAGE1.MouseDOWN 代码
  LPARAMETERS nButton, nShift, nXCoord, nYCoord
  nXX=This.Left - nXCoord
  nYY=This.Top - nYCoord

IMAGE1.MouseMove
  LPARAMETERS nButton, nShift, nXCoord, nYCoord
  IF nButton = 1
    This.Left = nXCoord + nXX
    This.Top = nYCoord + nYY
  ENDIF
运行表但试试。
2015-10-02 14:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-457501-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.143401 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved