| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1690 人关注过本帖
标题:使用 BINDEVENT时,怎么使用 this
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
结帖率:98.98%
收藏
已结贴  问题点数:20 回复次数:4 
使用 BINDEVENT时,怎么使用 this
比如:我表单from1,动态生成label ,有时候是生成20个,有时候是生成800个。
我想点击 label时,读取 labelxx.name这个名称?那就是 label的click事件。但我不可能1个个的写代码,就想到绑定。
我在表单中,自定义1个事件,给label绑定,我怎么知道是哪个 label点击了。。
* thisform.label_click
  messagebox(this.name) &&比如 thisform.MyLabel1.click点击了,我怎么知道是他的名称是 MyLabel1??
*************

* 动态生成 label的代码
nTop=20
nLeft=0
for i=1 to 100
 label_name = "MyLabel"+tran(i)
 nLeft=20+nLeft
  thisform.Map1.AddObject(label_name,'label')
   WITH thisform.Map1.&label_name
        .caption ="★"
        .autosize=.t.
        .visible=.t.
        .forecolor=RGB(255,0,255)
        .backstyle=0
        .top=nTop
        .left=nLeft
        .fontSize=9
    ENDWITH
    BINDEVENT(thisform.Map1.&label_name,"Click",thisform,"label_Click")
endfor

搜索更多相关主题的帖子: 动态 
2017-04-28 16:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:20 
可以自己封装一个label类,不用BINDEVENT。
2017-04-28 16:51
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用吹水佬在2017-4-28 16:51:37的发言:

可以自己封装一个label类,不用BINDEVENT。

我刚测试了,可以。
动态生成 label 前,先设置
SET CLASSLIB TO FRM\MyLabel.VCX ADDI
2017-04-28 17:15
yvbnet
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2017-4-17
收藏
得分:0 
lpara othisForm  在动态语句最上加这一行
下面的动态语句,全部替换 thisform 为 othisform
调用时,把表单直接作参数传入

直接用thsiform,会报错的
2017-05-15 17:03
xnhwl
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-1-21
收藏
得分:0 
回复 楼主 mywisdom88
给每个控件的mousemove写一下过程, thisform.表单变量=this.name
thisform.表单变量  是表单的name
2018-01-21 13:55
快速回复:使用 BINDEVENT时,怎么使用 this
数据加载中...
 
   



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

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