在PB可视用户类中动态创建其它可视对象
来源:互联网 发布:数据粒度怎么计算 编辑:程序博客网 时间:2024/06/02 13:13
很多人在创建高阶的可视类的时候都会遇到以上情况,但PB却没有提供这样的纯浄的实现方法。
下面将本人的实现方式做一描述:
1..window lw_parent --父窗口
2..u_cst_button luo_item --实例命名
3..SetRedraw(FALSE) --停刷
4..of_GetParentWindow() --获取父窗口(这中间的实现方法就不要问了,到处都是)
5..lw_parent.OpenUserObject(luo_item) --动态打开实例(发现没,这终归还是使用了窗口级的动态生成对象)
6..SetParent(Handle(luo_item),Handle(THIS)) --将刚打开的实例装入本对象容器(这就是核心了,配合OperUserObject就完成了完整动态创建了)
7..SetRedraw(TRUE) --开刷
实现这个过程其实就是一个动态创建对象和所在容器转移的过程,代码行5-6就是关键所在;
依此思路灵活应用应该可以设计出很强大的高阶可视类了,其中6行使用了以下API的申告:
PUBLIC FUNCTION Long SetParent(Long lChild, Long lParent) LIBRARY "user32.dll"
下面将本人的实现方式做一描述:
1..window lw_parent --父窗口
2..u_cst_button luo_item --实例命名
3..SetRedraw(FALSE) --停刷
4..of_GetParentWindow() --获取父窗口(这中间的实现方法就不要问了,到处都是)
5..lw_parent.OpenUserObject(luo_item) --动态打开实例(发现没,这终归还是使用了窗口级的动态生成对象)
6..SetParent(Handle(luo_item),Handle(THIS)) --将刚打开的实例装入本对象容器(这就是核心了,配合OperUserObject就完成了完整动态创建了)
7..SetRedraw(TRUE) --开刷
实现这个过程其实就是一个动态创建对象和所在容器转移的过程,代码行5-6就是关键所在;
依此思路灵活应用应该可以设计出很强大的高阶可视类了,其中6行使用了以下API的申告:
PUBLIC FUNCTION Long SetParent(Long lChild, Long lParent) LIBRARY "user32.dll"
- 在PB可视用户类中动态创建其它可视对象
- Qt 工具栏中插入动画等其它可视部件
- 创建高级可视组件
- AS3复制可视对象
- AS3复制可视对象
- AS3复制可视对象
- 动态菜单(永远在屏幕的可视区域显示)
- 在AS里创建可视组件》关于AS组件
- 如何判断对象是否在摄像机的可视范围内
- c# 动态可视排序算法
- flash里复制可视对象
- 在Delphi的DBGrid中插入其他可视组件
- 在Delphi的DBGrid中插入其他可视组件
- 在状态栏中插入类似进度条的可视控件
- 在Delphi的DBGrid中插入其他可视组件
- 如何在一个辅助中修改游戏的可视距离
- UIView在本区域内可视
- 在 MySQL Workbench 中如何可视的建立 MySQL 物理数据模型,并使用它来创建一个 MySQL 数据库
- 在GridView中插入新记录的方法(结合DetailsView)
- el表达式调用方法(曾经碰到的一个问题)
- 放平心态度过悉知的第一个平稳期
- 获取所有表及属性
- 为什么要开会?开那么多的会有意思吗?
- 在PB可视用户类中动态创建其它可视对象
- hibernate学习笔记一
- 端口被占用问题
- .NET 客户端连接Redis 介绍
- 冲击多个Input File赋值兼解决中文赋值问题
- 求TestDirector测试工具安装包一个
- 在MFC单文档对话框实现窗口分拆
- 界面美化
- hibernate学习笔记二