【PB】PB中object,control,custom class,custom visual,custom external等概念的区别

pb的5种类:

custom class :不可见用户自定义类 ,如实现函数的多态
standard class :标准不可见控件 扩展类
custom visual :用户自定义 可见类
External Visual: 外部可视类,如ocx引入
Standard Visual: PB标准可视控件扩展 

“Control”和“Object”的区别:

在PB里,“Control”和“Object”都是类,只不过前者是可视类,后者是不可视类,叫法不同罢了。无论使用哪种方式创建的,对于PB库画板来说,都是UserObject,通过Insert-Object-UserObject或Insert-Control-UserObject都可以把它插入到Window里,当然,这个对象应该是可视的。另外的插入办法是通过PB的IDE左侧的对象树,直接用鼠标Drag就可以了,这种方法不仅可以插入可视的UserObject,还可以插入不可视的类(可以通过View-Non Visual object llist看到它)  


对于拷贝来的代码,可以用一下方式判读是从哪里继承来的:


双击该对象,观察样式
1:如果仅仅是一个DataWindow或其它控件,说明该对象是从Standsrt Visual 继承的;
2:如果是多个控件的复合体,说明它是从Custom Visual继承的
3:如果是一个PB中不存在的控件,说明它可能是从External Visual 继承的
4:如果它没有Layout视图,说明它是从Custom Class 中继承的
5:如果它LayOut视图,但没有什么控件,说明它是从Standard Class中继承的

还有一个办法是右击该对象,选择Edit source,看看它的声明,Global type XXX from YYY,YYY就是祖先的类型 

总的来说,从横向和纵向来看:

横向--standard,custom

纵向--visual,nonvisual


既然是标准,就有pb基本控件的事件,属性等,反之custom则得自定义很多事件和属性  

投机的检查代码:

选择Edit source,看看它的声明,Global type XXX from YYY,YYY就是祖先的类型

如果是external visual就可以看到以下代码:

global type b from userobject
integer width = 288
integer height = 168
userobjects objecttype = externalvisual!
   
external:一般带libray,更好认了  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值