标题:回复:表单集中怎样让表单2停靠在表单1中?现以解决,与大家分享
只看楼主
yjfken
Rank: 2
等 级:论坛游民
帖 子:19
专家分:17
注 册:2012-3-17
结帖率:66.67%
 问题点数:0 回复次数:1 
回复:表单集中怎样让表单2停靠在表单1中?现以解决,与大家分享
    先前我为了实现动态在表单中添加数据,但又不想在当前表单中添加,所以就自然而然的想到了表单集,但是结果却令我很失望,所以一直在寻找解决的办,因为我相信总会有办法解决,所以我想到了用类的办法来解决,刚好,我又在网上看到了一篇类似的文章,(都市夜猫写得一篇关于之容器控件加滚动条的文章),根据他的思路,我达到了我想要的结果,现在我拿出来跟大家一起分享一下:
第一步: 新建一表单,设置 BorderStyle = 0(无边框),TitleBar = 0(无标题栏),ScrollBar = 3(拥有水平和垂直滚动条),建好后,打开文件菜单,选择另存为类即可,我的是将其命名"MYFORM";
第二步:再新建一个表单,在其INIT事件中写到:
Thisform.AddProperty('MYFORM1', NEWOBJECT('MYFORM', LocFile('MYFORM.vcx')))
  Thisform.MYFORM1.oForm = Thisform
  Show Window (Thisform.MYFORM1.name) in window (thisform.name)
  THISFORM.MYFORM1.VISIBLE=.F.
  THISFORM.MYFORM1.WIDTH=THISFORM.WIDTH
  THISFORM.MYFORM1.WIDTH=THISFORM.HEIGHT
  THISFORM.MYFORM1.VISIBLE=.T.
  Thisform.Resize()
表单的 Resize 事件中写代码:
IF TYPE("THISFORM.MYFORM1")<>"U"
THISFORM.MYFORM1.VISIBLE=.F.&&此项主要是为了防止,表单尺寸变化时,未显示出的内容出现黑块的现象
IF thisform.MYFORM1.controlcount=0
THISFORM.MYFORM1.WIDTH=THISFORM.WIDTH
THISFORM.MYFORM1.WIDTH=THISFORM.HEIGHT
ELSE
THISFORM.MYFORM1.WIDTH=THISFORM.WIDTH-17
THISFORM.MYFORM1.WIDTH=THISFORM.HEIGHT-17
ENDIF
THISFORM.MYFORM1.VISIBLE=.T.
ENDIF
到此,便算完成了.
若要引用表单类中的内容,可以这样写:
X=THISFORM.MYFORM1.XXXX.VALUE/CAPTION...



  
搜索更多相关主题的帖子: 表单 边框 标题栏 文章 动态 
2012-04-15 20:31
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
楼主的钻研精神值得学习!楼主的奉献精神也值得赞扬!虽然表单停靠的技术暂时用不上,但还是留个记号以便以后查找。

活到老,学到老! http://www. E-mail:hu-jj@
2012-04-17 20:12



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




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

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