- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PB编程技巧实例
顶?热?荐
PB编程技巧实例 [ 作者:佚名????转贴自:本站原创????点击数:13009????文章录入:lqk101 ] 随着数据库技术在各行各业的广泛应用,作为企业级数据库前端开发工具的Power Builder日益成为开发人员的得力助手。PowerBuilder以其开放的体系结构,友好的用户界面和简洁高效的开发环境赢得了众多程序员的喜爱,连续多年被评为美国计算机界的年度风云产品,在数据库开发工具领域占据了高达44%的市场份额。PowerBuilder进入我国的时间不长,许多编程人员希望了解并掌握这一先进工具。在这里,笔者将自己平日用PowerBuilder作开发的一些体会整理出来,奉献给大家。
PowerBuilder是由多个功能模块组成的可视化集成开发环境,是面向对象的开发工具,用它可以方便地建立起基于Windows的分布式数据库应用。其功能模块分别完成应用管理、窗口对象设计、菜单对象设计、数据窗对象设计和数据库查询等工作,这些功能模块由于PowerBuilder提供的色彩丰富的工具条而被称作Painter(画板)。下文便依据各模块作大的分类介绍相应的编程技巧。?
一、有关应用的编程技巧仅让应用程序运行一次的技巧:
?有时需要限制一个PowerBuilder应用同时运行的实例(Instance)个数或仅让应用运行一次,我们可以通过调用WindowsSDK函数或使用PowerBuilder的Handle()函数来实现。?? 先谈调用SDK函数的方法。为了调用SDK函数,需要在ApplicationPainter的菜单项Declare\GlobalExternalFunctions中定义:?? FunctionuintGetModuleHandle(stringModuleName)LibraryKernel.exe FunctionuintGetModuleUsage(uintModuleHandle)LibraryKernel.exe?
下面这段程序写在Application的Open事件中。它先通过调用SDK函数GetModuleHandle()获得指定应用程序的句柄,然后调用GetModuleUsage()函数确定应用程序同时运行的实例个数。uint IApplHandle?int App_num?IApplHandle=GetModuleHandle(ocmis.exe)?if IApplHandle0 then?? App_num=GetModuleUsage(IApplHandle)?? if App_num1 then?????? Messagebox(注意,本程序已经运行!,Stopsign!)????? return?? endifendifOpen(w_main)? 若需要限制应用同时运行的实例个数,比如仅允许同时运行N个实例,那么将上述程序中的语句 “if App_num1 then”改为“if App_numN then”即可。? 采用Handle()函数的方法更简洁一些,代码如下:?int hand?hand=Handle(this,TRUE)?If hand0 then?? Messagebox(注意,本程序已经运行!,Stopsign!)?? Halt?else?Open(w_main)?endif
?二、有关窗口的编程技巧?
1、提供实时帮助条
中文之星2.0版的链形菜单管理器提供了实时帮助条,增强了系统的易用性,在PowerBuilder中也可以实现类似的功能。当鼠标移动到窗口中的某些控制(Control),如编辑器、图片等时,会在鼠标附近自动产生帮助条,实时地提示操作要领。
首先在窗口w_main中任意位置定义一个黄底黑字的静态文本st_help,设定st_help.visible=false,st_help.text=Help;然后在该窗口模块的Declare\WindowFunctions...下定义函数show_help(),其参数只有一个,参数名为text,类型为string,通过传值方式接收参数;无返值。show_help()代码如下:?if st_help.visible then??? returnendif?st_help.text=text??st_help.width=Len(st_help.text)*38??st_help.x=w_main.PointerX()?st_help.y=w_main.PointerY()+50?if st_help.x+st_help.widthw_main.Workspacewidth() then??? st_help.
您可能关注的文档
最近下载
- 护理事业近五年发展规划(2026-2030).pdf VIP
- 虚体医学丛书:医说解集——昆明新空间1025实验室.pdf VIP
- 跨学科实践活动10 调查我国航天科技领域中新型材料、新型能源的应用-九年级化学下册(人教版2024).pptx VIP
- 2024中国可再生能源大会:大型伞梯式陆基高空风力发电技术研究.docx
- 特发性与继发性三叉神经痛诊疗专家共识(2025版).pptx VIP
- 工艺管道施工方案.pdf VIP
- 《像山那样思考》课件.ppt VIP
- 工艺管道施工方案.doc VIP
- 分析石油地质勘探与储层评价方法.docx VIP
- DB11T 891-2012 居住建筑节能设计标准.pdf VIP
文档评论(0)