标题:在表单运行时如何建立方法
只看楼主
大树临风
Rank: 2
等 级:论坛游民
帖 子:128
专家分:14
注 册:2015-12-9
结帖率:80%
 问题点数:0 回复次数:4 
在表单运行时如何建立方法
表单运行时,我在一个容器中添加了一个shape控件,我想在同时写代码到该控件的dragdrop中,不知道怎么办?不要绑定的方法
搜索更多相关主题的帖子: 如何 
2016-05-10 00:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
自己封装shape类(myShape),可以添加属性、方法和重载事件,动态AddObject myShape就ok。
2016-05-10 05:54
大树临风
Rank: 2
等 级:论坛游民
帖 子:128
专家分:14
注 册:2015-12-9
得分:0 
回复 2楼 吹水佬
大佬,我建立了myshape,运行时提示我 class definition myshape is not found,咋办啊?在线等....
2016-05-10 18:35
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用大树临风在2016-5-10 18:35:43的发言:

大佬,我建立了myshape,运行时提示我 class definition myshape is not found,咋办啊?在线等....

没看到你的代码,不好猜测。
参考示例

程序代码:
*test.prg
of = CREATEOBJECT("myForm")
of.show
READ EVENTS
CLEAR ALL 
RETURN

DEFINE CLASS myForm as Form 
    ADD OBJECT cmd as commandbutton WITH top=10,left=10,height=22,caption="test"
    
    PROCEDURE Unload
        CLEAR EVENTS 
    ENDPROC
    
    PROCEDURE cmd.Click
        IF VARTYPE(thisform.Shape1) == "U"
            thisform.AddObject("Shape1", "myShape",  20,150,100,40, 0,0,  100,0, 100,100,  0,100) 
            thisform.AddObject("Shape2", "myShape",  60,150,100,40, 0,50,  50,0, 100,50,  50,100) 
            thisform.AddObject("Shape3", "myShape", 100,150,100,40, 0,0,  100,0,  50,100,  0,0) 
        ENDIF
    ENDPROC
ENDDEFINE

DEFINE CLASS myShape as Shape
    Visible = .T.
    DIMENSION aPoly[4,2]
    
    PROCEDURE Init(Top,Left,Width,Height, x1,y1, x2,y2, x3,y3, x4,y4)
        IF !EMPTY(Width)
            this.myPolyPoints(Top,Left,Width,Height, x1,y1, x2,y2, x3,y3, x4,y4)
        ENDIF
    ENDPROC

    PROCEDURE myPolyPoints(Top,Left,Width,Height, x1,y1, x2,y2, x3,y3, x4,y4)
        Visible = .F.
        this.Top = Top
        this.Left = Left
        this.Width = Width
        this.Height = Height
        this.aPoly[1,1] = x1
        this.aPoly[1,2] = y1
        this.aPoly[2,1] = x2
        this.aPoly[2,2] = y2
        this.aPoly[3,1] = x3
        this.aPoly[3,2] = y3
        this.aPoly[4,1] = x4
        this.aPoly[4,2] = y4
        this.PolyPoints = "this.aPoly"
        Visible = .T.
    ENDPROC
ENDDEFINE
2016-05-10 19:43
大树临风
Rank: 2
等 级:论坛游民
帖 子:128
专家分:14
注 册:2015-12-9
得分:0 
[local]1[/local]
[local]1[/local]
2016-05-10 23:23



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




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

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