| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:为什么有些VB控件不能NEW
只看楼主 加入收藏
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
结帖率:87.93%
收藏
已结贴  问题点数:20 回复次数:5 
为什么有些VB控件不能NEW
如题:最近在使用ActiveSkin,想将它的一些操作自己再封装下,但无论是使用
dim x as new skin
或者是
dim x as skin
set x=new skin 系统都会报错

如果直接拖控件到窗体的话,我的类是在Form_Load时初始化的
因为这时候控件还没有Show出来,我如果Set MyClass.Skin=Skin1 系统也会报错

现在问两个问题:1)为什么有些控件不能NEW;
                     2)如果我的方法不行,那是否有其他的好的解决办法
搜索更多相关主题的帖子: NEW 控件 
2010-05-31 10:25
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
问题二已解决,求问题一:
2010-05-31 11:06
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
控件,使用   load 命令新建控件数组的元素.


因为控件,有事件,有响应函数.这种情况下,如果使用 代码建立 单个的 控件,就无法 关联到响应函数中去.
而使用控件数组,控件数组有一个总的 响应函数, 在这个函数过中,会传递 下标进去.
所以,控件, 用 load 命令新建控件数组的元素.

如 按钮,假如窗体上放一个 CMDX(0) 的按钮.
那么可以用

load cmdx(1)      '建立一个新的.
cmdx(1).Visible =True
cmdx(1).top = cmdx(0).top + cmdx(0).Height

来建立一个新的按钮,然后这个按钮放在新的位置







授人于鱼,不如授人于渔
早已停用QQ了
2010-05-31 11:57
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
VB不是很经典嘛
2010-05-31 12:22
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
我的意思是单单独立的建立一个控件  不是COPY另外的控件 有没有什么办法
2010-05-31 13:15
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
VB本身不是完全基于 对象的.

控件是一个对象.
如果是内置控件,还有可能使用代码来创建,
但如果是外部控件,就很难用代码来创建...
另一个问题,是你是打算自己重写 消息处理函数 ,然后自己拦截 自己建立的控件所需要 消息?

我一般是使用加载 控件数组的元素还创建所需的新的控件.
这种方法简单,可控.所需控件个数也灵活.
不需要的控件数组元素时,可以 unload 控件元素.

授人于鱼,不如授人于渔
早已停用QQ了
2010-05-31 14:37
快速回复:为什么有些VB控件不能NEW
数据加载中...
 
   



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

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