Foxtable(狐表)用户栏目专家坐堂 → 求一个全局代码或者内部函数的代码


  共有1871人关注过本帖树形打印复制链接

主题:求一个全局代码或者内部函数的代码

帅哥哟,离线,有人找我吗?
lovemaders
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
求一个全局代码或者内部函数的代码  发帖心情 Post By:2016/3/18 14:17:00 [只看该作者]

项目中,当打开的窗口中包含表控件的时候,就。。。,当打开的窗口中不包含表控件的时候就。。。。

这个写个全局代码怎么写,


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/3/18 14:29:00 [只看该作者]

dim kk As Boolean

For Each c As Control in e.Form.Controls

    if Typeof c Is WinForm.Table Then

        kk=  True

        Exit For

    End if

next

if kk then

    ‘包含

Else

     ‘不包含

end If


 回到顶部
帅哥哟,离线,有人找我吗?
lovemaders
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
这个是窗口代码吧,不是全局代码啊?  发帖心情 Post By:2016/3/18 14:35:00 [只看该作者]

这个是窗口代码吧,不是全局代码啊?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/3/18 14:39:00 [只看该作者]

设计一内部函数即可
 
dim kk As Boolean
Dim frm AS Winform.form = Args(0)
For Each c As Control in e.Form.Controls
    if Typeof c Is WinForm.Table Then
        kk=  True
        Exit For
    End if
next
Return KK
 
调用方法,窗口AfterLoad:
 
if  Functions.Execute("函数",e.Form) Then
else
end if
 
参考:
http://www.foxtable.com/help/topics/1486.htm


 


 回到顶部
帅哥哟,离线,有人找我吗?
lovemaders
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
啊,代码如下,我不想每个窗口都增加这个,帮我改下吧  发帖心情 Post By:2016/3/18 14:48:00 [只看该作者]

代码如下,我的窗口就2种情况,包含表和不包含表的2种,如果打开的窗口中没有表,那么某控件不能用,如果有表就可以用,这个做个全局代码?内部函数?不想每个窗口都增加这么一段。

 

Dim kk As Boolean
Dim pg As WinForm.TabPage
 pg = Forms("窗口").Controls("TabControl1").TabPages(1)
For Each c As Control In e.Form.Controls
    If Typeof c Is WinForm.Table Then
        kk=  True
        Exit For
    End If
Next
If kk Then
   pg.Enabled = False  '包含'pg.Enabled = False
Else
   pg.Enabled = True '不包含
End If


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/3/18 15:05:00 [只看该作者]

比如函数名称:SetEnable
dim e = Args(0)
Dim kk As Boolean
Dim pg As WinForm.TabPage
 pg = e.Form.Controls("TabControl1").TabPages(1)
For Each c As Control In e.Form.Controls
    If Typeof c Is WinForm.Table Then
        kk=  True
        Exit For
    End If
Next
If kk Then
   pg.Enabled = False  '包含'pg.Enabled = False
Else
   pg.Enabled = True '不包含
End If

窗口AfterLoad事件调用代码
Functions.Execute("SetEnable",e)

 回到顶部
帅哥哟,离线,有人找我吗?
lovemaders
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
你好  发帖心情 Post By:2016/3/18 15:09:00 [只看该作者]

你好,这样de话还是每个窗口都要加这么一句代码是吗?有没有办法所有窗口都不加这个代码,通过比如全局代码来实现呢?

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/3/18 15:20:00 [只看该作者]

这已经是最合适的方法

 回到顶部
帅哥哟,离线,有人找我吗?
lovemaders
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
好的谢谢了  发帖心情 Post By:2016/3/18 15:30:00 [只看该作者]

好的谢谢了

 回到顶部