VC2010+ArcGIS Engine 10.1 开发(二)

  1. 采用ActiveX控件插入的方式

上面我们是通过代码直接将地图控件放到界面上,这种有一个不好的地方就是,如果我们要设置控件的一些样式和视觉效果,我们要自己写很多代码,在C#中我们就很容易,其实在VC中也可以采用这种方式,下来我介绍下:

  1. 插入控件

在View的界面上右键插入,在弹出的对话框中找到Esri的东西,如下图:

  1. 添加变量

点了确定之后可以在头文件中看到如下信息:

在源码文件中看到DDX_Control的代码语句也被添加

  1. 添加代码

添加窗体的SIZE消息,让地图控件自动放大和缩小:

void CMapMFCView::OnSize(UINT nType, int cx, int cy)

{

    CFormView::OnSize(nType, cx, cy);

    if(m_MapTest.m_hWnd!=NULL)

    {

        CRect rc;

        GetClientRect(rc);

        GetDlgItem(IDC_MAPTest)->MoveWindow(rc);

    }

      

    // TODO: 在此处添加消息处理程序代码

}

原文地址:https://www.cnblogs.com/zuiyirenjian/p/2843673.html