PB自定义事件ID与按钮消息详解
需积分: 9 64 浏览量
更新于2024-09-23
收藏 54KB DOC 举报
"本文主要介绍了PB(PowerBuilder)编程中的一些自定义事件ID及其含义,这些事件主要用于处理用户与界面元素交互的情况,如单选按钮、多选按钮和通用对话框。通过理解这些事件,开发者可以更好地控制和响应用户的操作,从而实现更精细的界面控制和用户体验设计。"
在PB编程中,自定义事件ID对于创建动态和响应式的用户界面至关重要。以下是几种特定类型的事件:
1. 单选或多选按钮消息(前缀:pbm_bm):
- `pbm_bmgetcheck`:这个事件用于检查单选按钮或多选按钮是否被选中。开发者可以通过响应这个事件来获取按钮的状态,以便进行进一步的逻辑处理。
- `pbm_bmgetstate`:此事件用来判断按钮是否处于高亮状态,即用户是否正在与按钮交互。
- `pbm_bmsetcheck`:这个事件允许开发人员改变按钮的选中状态,可以将按钮设置为选中或未选中。
- `pbm_bmsetstate`:通过这个事件,开发者可以改变按钮的高亮状态,加亮或取消加亮按钮以反映其活动状态。
- `pbm_bmchange`:此事件用于改变按钮的样式,比如将按钮转换为单选按钮或组合框,提供了灵活性来调整界面布局。
2. 单选或多选按钮通知消息(前缀:pbm_bn):
- `pbm_bnclicked`:当用户点击按钮时触发,是处理用户交互的基本事件。
- `pbm_bndisable`:用于使按钮无效,禁止用户进行操作。
- `pbm_bndoubleclicked`:双击按钮时触发,通常用于执行更复杂的操作。
- `pbm_bndragdrop`:当用户将对象拖放到按钮上时,可以利用这个事件来处理拖放操作。
- `pbm_bndragenter`, `pbm_bndragleave`, `pbm_bndragover`:这些事件与拖放操作有关,分别在对象进入、离开和经过按钮时触发,用于控制拖放行为。
- `pbm_bnhilite` 和 `pbm_bnunhilite`:按钮被高亮或取消高亮时触发,通常与鼠标悬停有关。
- `pbm_bnpaint`:当按钮需要重绘时触发,可以用来自定义按钮的外观。
- `pbm_bnsetfocus`:按钮获得焦点时触发,可以在此时执行与焦点相关的操作。
3. 通用对话框消息(前缀:pbm_cb):
- `pbm_cbaddstring`:向通用对话框的列表框中添加一个字符串,常用于文件选择对话框等。
- `pbm_cbdeletestring`:从列表框中移除一个字符串。
- `pbm_cbdir`:添加一个目录列表到对话框,适用于文件或目录选择对话框。
- `pbm_cbfindstring` 和 `pbm_cbfindstringexact`:搜索并定位列表框中的特定字符串,前者是部分匹配,后者是精确匹配。
- `pbm_cbgetcount`:获取列表框中的项目数量。
- `pbm_cbgetcursel`:获取当前选定的项目的索引。
- `pbm_cbgetdroppedcontrolset`:获取列表框在屏幕上的坐标,用于自定义显示。
- `pbm_cbgeteditsel`:获取编辑框中选定文本的范围。
- `pbm_cbgetextendedui`:检查对话框是否使用扩展用户界面。
- `pbm_cbgetitemdata`:获取列表框中4字节的数据项。
- `pbm_cbgetitemheight`:获取列表框中一个项目的高度。
- `pbm_cbgetlbtext` 和 `pbm_cbgetlbtextlen`:获取或计算列表框中项目的文本内容和长度。
- `pbm_cbinsertstring`:在列表框中插入新的字符串或4字节项。
- `pbm_cblimittext`:限制用户在列表框中输入的字符数。
- `pbm_cbreset`:重置对话框的某些状态,例如清空列表框。
了解并熟练运用这些事件ID,开发者可以更好地控制PowerBuilder应用程序的用户界面交互,提供更加符合用户期望的功能和体验。在实际编程中,结合事件处理函数,可以实现复杂而灵活的业务逻辑。
2010-01-27 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-07-23 上传
2012-05-18 上传
247 浏览量
penny_ou
- 粉丝: 0
- 资源: 1
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析