1. 在VB的Form设计时,加入一个picturebox控件,这个控件作为OLE容器,MapInfo中的地图将在该控件上显示。
2. 执行VB的函数Createobject(“MapInfo.Application”),启动MapInfo。这时MapInfo在后台启动,对用户来说不可见,不会弹出splash窗口
3. 调用MapBasic的函数Set Application Window,设置MapInfo的父窗体ID,也就是VB窗体的ID,以后的MapInfo对话框都把VB窗体作为父窗体。
4. 生成一个OLE自动化回调对象,用来处理MapInfo的回调信息。然后调用MapBasic的函数SetCallback来指向这个回调对象。
5. 调用MapBasic的函数Open Table来打开所要打开的表,这个时候仅仅是打开数据库文件而已,图层并不可见。
6. 调用MapBasic的函数Map from生成可见的地图,地图显示在picturebox内。
7. 调用MapBasic的函数Set Next Document Parent,重新定向MapInfo文档窗口的父窗体,这样地图窗口就成为VB应用程序的子窗体。