| 网站首页 | 范文大全 | 市场营销 | 文案下载 | 猎讯范文 | 猎讯军情 | 网站地图 | 我要留言 | 
▌ 写作范文大全 >> 范文大全 >> 免费论文 >> 计算机论文 >> 正文     欢迎访问本站,为了尽快获得您所需要的内容,本站友情提醒,请使用站内搜索。  [成年人  2006年6月16日]            欢迎访问本站,为了尽快获得您所需要的内容,本站友情提醒,请使用站内搜索。  [成年人  2006年6月16日]        
PowerBuilder和MapInfo的集成开发技术         ★★★ 【字体:
PowerBuilder和MapInfo的集成开发技术

E自动化对象与MapInfo服务器的连接 MapInfo.DisConnectToObject() //释放OLE自动化对象 Destroy MapInfo

  3.将地图窗口集成到PowerBuilder应用程序中 要将MapInfo的地图窗口集成到PowerBuilder开发的客户程序中,必须在客户程序中为MapInfo中的应用窗口重新指定父窗口,并指定一个Picture控件作为集成的地图窗口的父窗口。可以使用OLE自动化对象的Do方法实现上述功能: //重新指定MapInfo中的应用窗口的父窗口为应用程序窗口 //其中w_map为一个窗口 MapInfo.Application.Do (Set Application Window + String(Handle(w_map))) //指定一个Picture控件棗p_map为地图窗口的父窗口,将地图窗口集成到客户程序中 MapInfo.Do (Set Next Document Parent + string(Handle(p_map)) + Style 1).gif (11237 字节) src=/lunwen/UploadFiles/200505/20050517200008607.gif width=681> 图2 回调技术的实现

  4.实现回调 在PowerBuilder的客户程序中,是通过OLE自动化对象对集成的地图窗口进行控制,如图2所示。当客户程序在地图窗口进行有关的操作后(例如使用某个自定义工具在地图窗口上单击某个地图对象时),对应的事件只传递给MapInfo服务器,而不直接传递给客户程序,为了在客户程序中对事件进行处理,必须采用回调技术。由于在PowerBuilder中不能定义公共的回调类,因此必须编写一个在MapInfo服务器中运行的MapBasic应用程序,用来将回调信息反馈给PowerBuilder客户程序。

  其实现过程为:

  首先,在包含集成地图窗口的PowerBuilder应用窗口创建一个用户自定义事件ue_SelectionMade,事件ID为pbm_Custom01(= 1024)。 然后,编写一个在MapInfo服务器中运行的MapBasic应用程序,在此应用程序中添加对地图窗口事件进行处理的子程序。当对客户程序中的集成地图窗口进行操作时,MapBasic程序中对应的事件处理程序被触发。在事件处理程序中,可以将要传递给客户程序的信息保存到MapBasic中定义的一个全局变量中,然后使用Win32 API函数PostMessage(),以PowerBuilder应用窗口的句柄和该窗口的用户自定义事件的ID为参数,向PowerBuilder客户程序发送消息,这样PowerBuilder客户程序就可以在该窗口的用户自定义事件中处理地图窗口事件了,并且还可以使用MBApplications对象的方法,获取MapBasic全局变量中保存的事件信息。

  如下代码展示了MapBasic应用程序在接收到地图对象选择事件时的处理的过程: 预定义PowerBuilder应用窗口的用户自定义事件的唯一数值标识符 DEFINE SELECTION_MADE 1024 响应地图对象选择事件 Sub SelChangedHandler() 如果选中一个地图对象 If CommandInfo(CMD_INFO_SELTYPE) = 1 Then 保存地图对象所在的表的名称 g_seltabname = SelectionInfo(SEL_INFO_TABLENAME) 向PowerBuilder客户程序发送消息 iRc = PostMessage(g_pbhwnd_bg,SELECTION_MADE,0,0) End If End Sub 下面的程序段中给出了实现回调时PowerBuilder客户程序的处理过程。该处理过程使用了MapBasic编写的mbserver.mbx程序。在MapBasic程序中保存事件信息的变量为g_SelTabName,而g_PbHWnd是MapBasic程序中用来接收PowerBuilder客户程序窗口句柄的全局变量。 //在MapInfo服务器

上一页  [1] [2] [3] [4] 下一页

  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    开发公司2008年上半年精神文明工作总…
    专业技术(铁路桥涵主管)年度工作总…
    关于全市科学技术进步法实施情况的调…
    2008年农业开发项目建设实施方案
    农业技术规程农机作业标准
    农业综合开发工作经验交流材料
    市质量技术监督局2008年依法行政工作…
    XX乡农业科技示范园区建设及技术实施…
    司法技术工作大学习、大讨论活动征文
    中国科学技术大学第九届研究生支教队…

    Copyright 2003 - 2006 写作范文大全 Inc. All Rights Reserved 建议您用1024×768以上的分辨率浏览本站
    免责声明:本站所有信息均来自网上,如有信息侵犯了您的权益,请告知,本站将立刻删除。

    湘ICP备06009752号  站长: 广告联系QQ:34468494 46299994