学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> PowerBuilder >> 在PB6.5中利用Win9X的OCX控件美化程序界面


在PB6.5中利用Win9X的OCX控件美化程序界面



---- 用过Power Builder编程的人都会有这种感觉:PB在操作数据库数据方面提供了简捷、独特的方法,是同类开发工具所无法比拟的。但是在程序界面设计方面却美中不足。一个好的程序员总是想方设计美化自己的程序,不但要求自己的程序能解决用户的需求和提供简便的操作,而且希望用户在使用界面优秀的程序的过程中充分体现美的感受。这是笔者在多年开发中所追求的目标。在PB中充分利用OCX控件编程,往往会得到事半功倍的功效,最近在互联网上收集了很多利用OCX编程的技巧,但是在其他开发工具中能使用的控件在PB中能用的却非常的少,花费了大量的精力和上网机时收获却并不大,本人在查阅了有关书籍和网友的指点后,把有关PB程序界面美化的几点经验经过整理和各位网友分享:

---- 一、 利用Windows 9x中的OCX控件制作状态条的方法:

---- 在PB中新建一窗口,在窗口画板中插入OLE,在“Insert Object”窗口中选择“Insert Control”找到“Microsoft Statusbar Conrol,Version5.0(sp2),这样就可在窗口中插入一个状态条控件,此控件包含在C:\Windows\System\COMCTL32.OCX文件中。在窗口和控件的Script 中只要控制控件的显示位置和设定控件上的显示窗格,以及各窗格中显示的内容。此控件预设了很多内容给用户选择,主要包括长短格式日期、系统时间、大小写锁定键状态、插入锁定键状态、小键盘数字锁定键状态和自定义文本等,例如要在程序中改变第一个窗格的显示内容方法如下:

//open for w_3 returns long
oh=this.height //oh,ow定义为全局变量
ow=this.width
statusbar_1.object.Panels.Item(1).Text = "广东省韶钢财务结算中心"

//resize for w_3 returns long
oh=newheight
ow=newwidth
statusbar_1.TriggerEvent(constructor!)

动态改变控件的显示位置:
//constructor for statusbar_1 returns long
this.x=0
this.width = ow – 2
this.y=oh - this.height

---- 二、 利用Windows 9x中的OCX控件制作月历选择的方法:

---- 此控件为“Microsoft Date and Time Picker Control Version 6.0”,包含在C:\Windows\System\MSCOMCT2.OCX文件中。

---- 在Script 中主要设定控件当于显示值和被选择的日期,方法如下:

设定当天日期
//constructor for ole_1 returns long
this.object.value=today()
获得被选日期
//change for ole_1 returns long
sle_1.text=string (date(this.object.value))

---- 三、 制作动态按钮或动态图片的思路:

---- 用过Office 97的人都知道它的菜单具有动态感应功能,只要鼠标光标指向某个快捷按钮时,此按钮即动态更换显示风格,在Pb6.5的菜单中也具有这种功能,现在很多优秀的程序都通过这种原理在程序的主窗口中放置一幅导航图,用户通过点击导航图即可直接进入各模块,界面友善而简捷,深受用户欢迎。但是Pb6.5中的按钮对象或图片对象却没有直接提供这种功能,要实现此功能用户必须通过自己编程实现或直接利用第三方提供的OCX动态按钮控件实现,但是笔者试过很多控件在PB6.5中都不能正常使用。于是在网上通过网友指点迷津,通过以下方法使图片或按钮具备了动态感应功能,制作出漂亮的程序导航图:

先用绘图工具将你的程序简捷流程图(导航图)画好并保存为一个BMP文件;

将导航图中各个需要动态感应的部分剪切出来并保存为名个小的BMP文件;

在主窗口中放置完整的导航图,然后将各个小的BMP文件放置到完整导航图中相应位置上方,默认图片的Border风格为False,这样从表面上基本看不出原来完整导航图与叠加小图片后的分别;

为完整导航图和各个小图片增加用户自定义mousemove事件,在PB中对应事件号Pbm_mousemove,各个小图片的Script 如下:
//mousemove for p_2 returns long
if this.border = false then
this.border = true
this.borderstyle = StyleRaised!

---- /*如果对各个小图片的多种显示风格对应的图片进行特效处理,如颜色渐变、字体阴影、增强立体效果等,更能增强界面的美观效果,只须动态改变感应后显示的图片即可。*/

//this.picturename="d:\author\toolbox3.bmp"
… //编写程序恢复其他小图片的默认显示风格
end if

---- 在各个小图片的Clicked事件中:

//clicked for p_2 returns long
this.borderstyle =StyleLowered!

---- 在完全的导航图和主窗口的mousemove事件中的Script如下:

//mousemove for w_3 or p_main returns long
if p_2.border = true then
p_2.picturename="d:\author\toolbox4.bmp" //恢复初始图片
p_2.border = FALSE
… //恢复其他小图片初始设置状态
end if

技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"在PB6.5中利用Win9X的OCX控件美化程序界面"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 在PB6.5中利用Win9X的OCX控件美化程序界面 相关内容
Google搜索中 在PB6.5中利用Win9X的OCX控件美化程序界面 相关内容
雅虎中 在PB6.5中利用Win9X的OCX控件美化程序界面 相关内容
Sogou搜索中 在PB6.5中利用Win9X的OCX控件美化程序界面 相关内容

相关软件 最新回复帖子:

·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效
·用Photoshop通道将模糊肖像照片清晰化
·照片处理:Photoshop修复残破照片
·PS CS2新增形状模糊滤镜绘制花布图案


  相关软件 在PB6.5中利用Win9X的OCX控件美化程序界面相关文章
在PB应用中收发电子邮件 关于PB应用程序的2000年问题
PowerBuilder 的 大 文 本 数 据 打 印 在PB 中 巧 用 下 拉 数 据 窗 口
在PB中应用灵活多样的排序 PB修改数据库表结构的技巧二则
深入了解PowerBuilder的数据窗口 PowerBuilder数据窗口中按钮的封装
数据库系统在面向对象分析设计中的应用 经验点滴
如何在POWER BUILDER中使用WINSOCK控件 在PowerBuilder中实现数据库的实时过滤
用Enter键来进行窗口上的各个控键的焦点转跳 PB5中如何实现诸如Ms word之类的启动画面
如何在数据窗口(Datawindow)中用Enter代替Tab在字段间移动 PB问题解答之一
PB问题解答之二 PB问答(-)
在PB中使用FoxPro数据库的方法 PB中窗口自动居中