| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2396 人关注过本帖
标题:对控件"容器"的理解(about "container")
取消只看楼主 加入收藏
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
结帖率:25%
收藏
已结贴  问题点数:10 回复次数:7 
对控件"容器"的理解(about "container")
在VFP9中文版中(在本论坛下载的), 想把"容器"给用上,结果令我很费解,
在帮助文件中找不到关于控件"容器"的更多的说明, 只好求助一下大家.

A.只差最后一步
  根据字面意义, 我 试图 把其它控件放在这个"容器"里, 再把这个"容器"放进其它容器性质的控件中, 过程如下:
  1.建一个表单           frm_formtest
  2.表单中放一个表格     grd_grdtest
  3.表格中建一个列       clm_clmtest
  4.列中建一个容器       cnt_containertest    (这一步你懂得怎么操作吗?哈哈)
  5.容器中放三个控件
      文本框           txt_texttest
      组合框           cmb_comboltest
      命令按钮         cmd_commandtest
      调整文本框和组合框的大小, 让文本框在左边, 组合框在右边, 让它们都能显示出来....
  我进行到第4步, 很顺利, 虽然VFP在表格的列中放控件的操作方法有点别扭, 但帮助文件中还是找得到操作提示的:)
  我想这下子爽了, 可以把表格控件Grid 玩出许多新花样了, 界面一定很惊艳 :DDDDD
  但让我头大的是, 第5步实现不了, "容器"里面怎么搞都放不进东西, 就好象它根本就不是一个"容器"

B.还真就是放不进
  我以为是表格里面的限制, 就把容器放在表单层,
  然后试图往容器里装入控件, 结果还是放不进去

C.我错在什么地方呢?
  如果我搞错了操作方法, 那这是好事, 大家帮我指正一下吧, 总之想法还是能实现的.
  如果我没搞错, 那这个"容器"控件有什么作用啊?

D.为了避免误会, 请回贴的朋友试验时注意一下属性窗口, 打开控件组合框观察, 看清楚容器和你要放进去的控件的层次关系
  我无论怎么搞, 放在容器上的控件都跟容器在同一层次是并列关系, 而没有变成包含关系.

E.这么做有意义吗?
  有啊, 这样做出来的界面可以相当漂亮, 比如我们经常做的就是往一个列里放一个组合框, 这样到了需要在这个列中输入数据时, 就不用打字了.
  但是设计时列中放进去的控件可以很多, 却只能堆叠在一起, 运行时只能看见其中的一个....
  就算是编程在运行时用代码调整这些控件的大小位置也不行.
  要是能按照我们的意愿任意布置的话...啧...
F.所以, VFP的这个"容器"到底有什么用呢? 要怎么用呢?

G.最后, 贴上联机帮助的节选内容, 它给了我希望, 却没有给我指出一条明路, 所以我的希望只好寄托在大家这里了.

***********************以下是从联机帮助里拷贝的内容**********************
Container 对象
请参阅
 全部折叠 全部展开
创建一个可包含其他对象的对象。

 
Container
 

说明
Container 对象可包含其他对象,并且允许访问被包含对象。例如,若创建了一个由两个列表框和两个命令按钮组成的容器对象,然后将 容器对象添加到一个表单中,则可在设计和运行时操作列表框和命令按钮。

有关容器对象的更多信息,以及与其他对象和控件的区别,请参阅面向对象程序设计。

搜索更多相关主题的帖子: 中文版 文本框 about 容器 
2012-06-01 18:36
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
这个希望有经验的朋友能给点意见,
我见了Tony的代码后, 发现容器确实是可以使用的,
比如用一个容器封装一大堆文本框

所以我也试着用代码方式实现了以下结构:

表单--表格--列--容器--文本框
                    --命令按钮

我的意图是在列中搞点花样, 如果上例成功,
则平时显示时没什么特别,
但如果列获得焦点, 进入编辑状态, 则可以在文本框旁边多出一个按钮来

但是上例中这个特别定义的列运行起来只得见一块色块, 里面封装的两个控件根本不可见
2012-06-04 00:54
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
回复 4楼 sdta
鼠标右击容器,在弹出的菜单上,选择“编辑”,当看到容器周围变(绿)色时,这时才可以加入控件,否则就会发生你说的情况。
原来是这样...
先搞搞试验再来说下我的应用结果,
谢谢解决了一个大困惑.
2012-06-04 08:48
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
回复 3楼 sdta
手工将TEXTBOX与COMMAND加入容器中,删除COLUMN1中的TEXTBOX,然后将容器加入原TEXTBOX的位置
这个能讲一下操作过程吗?

我的想法是在column中先放一个空的容器, 这个在表单设计器里就能操作.
(--------跟Tony相反, 我比较追求可视化, 这样别人要维护或者改进我做的项目就相对比较轻松一些.)
再到这个容器的init事件中写代码加入其它控件,
这样感觉代码更易被维护.

跟你说的先封装控件到容器中再加入到column中应该不太一样.
不知道是否有更合理更易操作和维护的办法.
2012-06-04 09:57
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

我先试试能不能贴图再讨论
2012-06-04 11:32
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
回复 7楼 sdta
图片附件: 游客没有浏览图片的权限,请 登录注册


是不是指上图的这种情况?
2012-06-04 11:36
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
手工将TEXTBOX与COMMAND加入容器中,删除COLUMN1中的TEXTBOX,然后将容器加入原TEXTBOX的位置。
那个"加入"的操作,我整整折腾了一个上午才整利索了

一开始搞代码, 因为在"列"中的"容器"无法在设计器中被编辑...
后来灵感一来, 把旁边的已经定义好的容器剪切掉再"粘贴"进列里,(是不是只能这样操作啊?)

别扭归别扭,
但总算是搞成了,

舒服啊...

本来可以结贴了, 但考虑到这一套方法完整的操作还是总结描述一下比较易于让其他朋友明白,
等我抽时间整理成文再结贴吧.
对这个主题有想法的朋友们也请贡献一下智慧说两句吧.
2012-06-04 12:10
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
嘿嘿...
看样子不拿出点儿那个啥来,还真对不起各位版主了哈。

不会让你们失望的,
老话题里总是能熬出点新油来的,等我加点料再来。

这一贴的话题弄好了,还确实是能让VFP在界面上出彩的也。
2012-06-04 14:45
快速回复:对控件"容器"的理解(about "container")
数据加载中...
 
   



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

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