当前位置:首页 > 帮助文档 > 快速入门 > Powerbuilder快速入门
在pb中引入控件打开dwg文件
在pb中引入控件

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


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


pb1.png


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


pb2.png


新一个窗口,点击[ File ]=>[ New ]=>[ PB Object ],如下图:


pb3.png


点击[ File ]=>[ Save As ]保存新建的窗口,并给它取名:


pb4.png


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


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


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


pb5.png


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


// mxwindow是窗口名
open(mxwindow)


如下图操作:


pb6.png


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


pb7.png


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


响应控件的初始完成事件,在控件对像上右键,在弹出菜单,点击[ Script ],如下图:


pb8.png


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


pb9.png


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


// 加载工具条
ole_1.object.LoadToolBar(ole_1.object.GetOcxAppPath() + "\\MxDraw-ToolBar.mxt",true)
// 显示工具条
ole_1.object.ShowToolBars = true


打开dwg文件

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


ole_1.object.DoCommand(1)


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


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


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


pb10.png


调用控件打开dwg文件函数,打开h盘的1.dwg文件代码:


// icommandid值 等于1,就我们要执行的,打开文件命令,这个值与前面调用的DoCommand传的值要对上。
if icommandid = 1 then
// 打开dwg文件。
ole_1.object.OpenDwgFile("h:\\1.dwg")
end if


最终运行结果:


pb11.png

梦想CAD是专业的CAD插件(控件),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。
联系我们
技术TEL:400-888-5703
185-8173-1060
客服I QQ: 3570505660
技术I QQ: 827867134
技术II QQ:6884123
VIP服务购买
销售TEL:156-8136-8971
销售QQ:710714273
用户交流
控件QQ交流群1:73281982
控件QQ交流群2:112199959
MxCAD软件群 1:515771658
技术I:QQ
827867134
客服I:QQ
3570505660
销售QQ
710714273
联系电话400-888-5703