CAD控件:PowerBuilder开发使用控件入门

PowerBuilder开发使用控件入门

1. 在PB中引入控件

(1)我们使用的PB9.0,在百度里搜索下载的,安装后,运行PB软件。

(2) 新建一个pb工作空间, 点击[File]=>[New],出来新建窗口,如下图:

(3)在新建的工作空间,新建一个应用,点击[File]=>[New]=>[Target],如下图:

                                                                                                                                                                                                                                                                                                                
(4) 新一个窗口,点击 [File]=> [New]=> [ PB Object],如下图:
 
 
(5)点击 [File]=> [Save As]保存新建的窗口,并给它取名:
 

(6)点击[Insert]=>[Control]=>[OLE..]插入OLE对象,在出来的界面上,选择[InsertControl],这时要注意,在有些系统上,PB会突然蹦溃退出,在百度上搜索原因,是系统中注册的某些控件与PB兼容性有问题,PB在搜索所有控件时,遇到有问题控件时,就出错了。

(7)我们解决办法时,安装了一个WinXp的虚拟机,在虚拟机里安了PB软件,然后再做上面的操作,就能成功进入该页面。因为虚拟机的WinXp系统软件安装的非常少,没有打系统补丁,环境相当非

常干净,不存在有兼容问题的控件,所以PB能成功进入。

(8)在虚拟机里,把控件插入到窗口上,然后再保存整个工程,再把工程文件拷贝到真机上,再用PB打开就行了。

 插入过程如下图:

 

(9)点击右边的[testmxdraw]应用,再点下边的[open]标签,为open事件增加打开窗口代码:   

    // mxwindow是窗口名

       open(mxwindow)

如下图操作:

 
 

(10)点击[Run]=>[Run testmxdraw]运行程序,如下图:

 

(11)运行后,你会发现,加载的控件没有工具条,菜单栏,这是因为PB没有正确把控件默认参数输入,所以需要在控件初始完成事件中,显示去加载工具条,和菜单栏。响应控件的初始完成事件,在

控件对像上右键,在弹出菜单,点击[Script],如下图:

 

(12)在弹出的窗口,选择[initcomplete]事件如下图:

(13) 在该事件,加入如下代码,加载控件工具条:   

// 加载工具条

        ole_1.object.LoadToolBar(ole_1.object.GetOcxAppPath() + "\\MxDraw-ToolBar.mxt",true)

        // 显示工具条

       ole_1.object.ShowToolBars = true

2. 打开DWG文件

(1)在界面上,增加一个按钮,双击按钮,在按钮的单击事件加入如下代码:

  ole_1.object.DoCommand(1)

(2)该代码,开始执行控件的一个用户自定义命令,命令的id为1,这个id值用户可以随便取值,它是用来标识该命令,多个命令之间,id值不能重复。在随后,响应控件的命令 执行事件,在该事件中,打开dwg文件。

(3) 增加控件的命令执行事件,如下图:

(4)前面的DoCommand的调用后,程序将会跳转到这里执行,控件要求所有与用户交互的操作,都必须放在命令事件中。

 
(5)调用控件打开dwg文件函数,打开h盘的1.dwg文件代码:      
 
 // icommandid值 等于1,就我们要执行的,打开文件命令,这个值与前面调用的DoCommand传的值要对上。

       if icommandid = 1 then

       // 打开dwg文件。

       ole_1.object.OpenDwgFile("h:\\1.dwg")

       end if

(6)最终运行结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值