标题:如何实现鼠标单击不同位置三次,分别 显示三个坐标值
只看楼主
bilimyar
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-7
结帖率:0
已结贴  问题点数:20 回复次数:4 
如何实现鼠标单击不同位置三次,分别 显示三个坐标值
我成功实现了会显示鼠标所在的位置单击后的坐标值
mousedown 事件
thisform.label1.caption="x= "+ str(nxcoord)  +","
thisform.label2.caption="y= "+str(nxcoord)

但是,鼠标位置不同  Label1,label2 的坐标值也会改的
我的意思是第一次单击的坐标显示在Label1,label2
          第二次单击的坐标显示在Label3,label4
          第一次单击的坐标显示在Label5,label6
需要高手的帮忙,谢谢
搜索更多相关主题的帖子: 单击 显示 坐标 鼠标 位置 
2023-05-04 14:16
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
设定个变量值,用MOD() 或 % 除3判断下即可
余1 第1次
余2 第2次
余0 第3次

坚守VFP最后的阵地
2023-05-04 14:26
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
程序代码:
Public oForm
oForm=NEWOBJECT("form1")
oForm.Show 
DEFINE CLASS form1 AS form
    DoCreate = .T.
    Caption = "Form1"
    Name = "Form1"
    ADD OBJECT label1 AS label WITH ;
        AutoSize = .T., ;
        Caption = "Label1", ;
        Height = 16, ;
        Left = 72, ;
        Top = 48, ;
        Width = 38, ;
        Name = "Label1"
    ADD OBJECT label2 AS label WITH ;
        AutoSize = .T., ;
        Caption = "Label2", ;
        Height = 16, ;
        Left = 72, ;
        Top = 96, ;
        Width = 38, ;
        Name = "Label2"
    ADD OBJECT label3 AS label WITH ;
        AutoSize = .T., ;
        Caption = "Label3", ;
        Height = 16, ;
        Left = 72, ;
        Top = 144, ;
        Width = 38, ;
        Name = "Label3"
    PROCEDURE MouseDown
        LPARAMETERS nButton, nShift, nXCoord, nYCoord
        thisform.lnjs = thisform.lnjs + 1
        DO CASE 
            CASE MOD(thisform.lnjs, 3) = 1
                thisform.label1.Caption = TRANSFORM(nXCoord) + "," + TRANSFORM(nYCoord)
            CASE MOD(thisform.lnjs, 3) = 2
                thisform.label2.Caption = TRANSFORM(nXCoord) + "," + TRANSFORM(nYCoord)
            CASE MOD(thisform.lnjs, 3) = 0
                thisform.label3.Caption = TRANSFORM(nXCoord) + "," + TRANSFORM(nYCoord)
        ENDCASE
    ENDPROC
    PROCEDURE Init
        thisform.AddProperty("lnjs", 0)
    ENDPROC
ENDDEFINE

坚守VFP最后的阵地
2023-05-04 16:25
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:10 
回复 3楼 sdta
好!
2023-05-04 18:13
bilimyar
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-7
得分:0 
回复 2楼 sdta
感谢你,给我提供解决方法,很满意
牛顿曾经说过:如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。(If I have seen further, it is by standing on the shoulders of giants.)
2023-05-05 13:43



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




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

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