您的位置:首页 > 移动开发 > Objective-C

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

2014-12-31 17:02 423 查看
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,更好认了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐