PowerBuilder数据窗口动态创建控件教程
4星 · 超过85%的资源 需积分: 9 122 浏览量
更新于2024-12-01
1
收藏 1KB TXT 举报
"在PowerBuilder的数据窗口(freeform)中,可以动态地创建各种控件,包括线(line)、图片(picture)、文本(text)和OLE对象。通过使用`modify`方法,我们可以构建字符串来定义控件的属性,并将这些字符串传递给数据窗口对象,从而在运行时创建和修改控件。这种方法允许开发人员在不预先知道具体控件数量或布局的情况下,灵活地构建用户界面。"
在PowerBuilder的数据窗口(freeform)中,动态创建控件是一个强大的特性,它使得应用程序能够根据需要自适应地添加元素。以下是一些关于如何动态创建控件的关键知识点:
1. 创建线(line):通过`createline`函数,我们可以定义线的位置(x1, y1, x2, y2),名称(name),可见性(visible)以及样式(style)、宽度(width)和颜色(color)。例如:
```python
ls_create = 'createline(band=header,x1="992",y1="60",x2="1129",y2="60",name="l_163",visible="1",pen.style="2",pen.width="5",pen.color="33554432",background.mode="1",background.color="553648127")'
dw_1.modify(ls_create)
```
这行代码会在数据窗口的header带区创建一条线。
2. 创建文本(text):使用`createtext`函数,我们可以设置文本的位置(x, y),高度(height)和宽度(width),以及文本内容、对齐方式(alignment)和样式。例如:
```python
ls_create = 'createtext(band=header,alignment="1",text="ǰʱ:",border="0",color="33554432",x="1134",y="32",height="56",width="288",html.valueishtml="0",name="t_1",visible="1",font.face="",font.height="-9",font.weight="400",font.family="0",font.pitch="2",font.charset="134",background.mode="1",background.color="536870912")'
dw_1.modify(ls_create)
```
这将在header带区创建一个显示“ǰʱ:”的文本框。
3. 创建图片(bitmap):利用`createbitmap`函数,我们可以插入位图文件(filename),定义其在数据窗口中的位置(x, y),高度(height)和宽度(width)。例如:
```python
modstring = 'createbitmap(band=footer,x="37",y="12",height="101",width="1509",filename="C:\PB\BEACH.BMP",border="0",name="bmp1")'
dw_1.Modify(modstring)
```
这行代码会在数据窗口的footer带区添加一张名为“BEACH.BMP”的图片。
4. 创建OLE对象(ole):虽然例子中没有直接涉及,但原理类似,你可以创建并插入OLE对象,如Excel表格、Word文档等,只需要替换相应的函数(如`createole`)并指定所需的属性。
5. 属性设置:每个控件创建的字符串中包含了许多属性,如位置坐标(x, y),尺寸(height, width),颜色(color),可见性(visible),边框(border)等,这些属性可以根据需求进行调整以达到预期效果。
动态创建控件是PowerBuilder的一个强大工具,它提供了极大的灵活性,使得开发者能够在运行时根据业务逻辑或用户交互来动态构建界面。这种灵活性使得程序更加适应变化,提高了用户体验。同时,它也增加了代码的复杂性,因此在设计时需要考虑控件的管理、更新和销毁等问题,以避免内存泄漏和其他潜在问题。
122 浏览量
183 浏览量
116 浏览量
2010-06-24 上传
143 浏览量
2010-05-09 上传
1293 浏览量
700 浏览量
106 浏览量
lichao1404083140
- 粉丝: 1
- 资源: 4
最新资源
- 安德罗塞克
- 电气设计笔记.zip
- 自适应蚁群算法在序列比对中的应用.zip
- tiramisu:项目将对从通过caffe处理的图像中提取的特征进行后处理
- Exam24h Helper - Tạo Khóa Học Online-crx插件
- 营运课退换货作业规范
- Algorithm
- 单机版五子棋源码.zip
- Ogre:Ogre 是一个用于使用 OPI 和 OPIOctopus900 的小型视野测量演示应用程序
- 百货常用促销手段
- Formation facile-crx插件
- stepik_lessons
- FFDoku:FFDoku,一个用于Firefox OS的数独!
- 初级java笔试题-brawl:开源大规模斗殴模拟器
- 拉扎鲁斯
- 精美蝴蝶图标下载