VisualC++中创建MapX控件

首先选择File菜单中的New命令,弹出New对话框。选择MFCAppWizard(exe),并在ProjectName中输入MapxSample作为工程名称。然后单击OK按钮,进入应用程序向导的第一步。通过应用程序向导创建一多文档(或单文档)界面应用程序。
    在创建MapX控件之前,必须将MapX.h和MapX.cpp文件加入到工程中。从Project菜单中选择Add To Project > Files命令,打开InsertFiles into Project对话框,选择MapX.cpp和MapX.h文件加入到工程中。
    注意:不要选择Project菜单中的Add TO Project > Components And Controls命令。如果选择该命令加入MapX控件,将创建一新的.cpp丈件,但是该文本没有包括所有的MapX对象。
    在工程中加入MapX.h和MapX.cpp文件后,在包含该控件的MapxSarnpleView中加入MapX对象的头文件。如下所列:
    #include "MapX.h"
    ClaSS  CMapxSampleVieW : publiC  CView
    {
         protected;
         CMapX  m_ctrlMapX;
    }
    然后需要为MapX创建一资源ID来代表该控件。其步骤如下:
    (1)选择View菜单的ResourceSymbols命令,打开ResourceSymbols对话框。
    (2)在ResourceSymbols对话框中单击New命令按钮,弹出NewSymbol对话框。
    (3)在NewSymbol对话框中输入IDC_MAP作为名称。
   然后要在类向导中为 WM_SIZE 和 WM_CREATE 消息创建处理程序:
1. 转到“视图” > “类向导”
2. 从“类名称”组合框中选择您的视图类。
3. 在消息框中,单击“WM_CREATE”,然后单击“添加函数”。
4. 接着还在该消息框中选择“WM_SIZE”并单击“添加函数”。
5. 然后,单击“编辑代码”。
在创建视图时创建该控件。在 CMapXSampView::OnCreate 中:
int CMapxSampleView::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
        if(CView::OnCreate(lpCreateStruct)  ==  -1)
        retrun -1;

//使用默认的大小创建地图,在resize消息影射函数中调整地图的大小,使它充满整个//客户区
        if(!m_ctrlMapX.Create(NULL,WS_VISIBLE,CRect(0,0,100,100),this,IDC_MAP))
                return -1;
    return 0;
   }

void CMapxSampleView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
if (cx != 0 && cy != 0)
m_ctrlMapX.MoveWindow(0,0,cx,cy,TRUE);
}    

void CMapxSampleview::OnSize(UINT nType, int cx, int cy)
{
        CView::OnSize(nType, cx, cy);
       
        //调整地图的大小,使它充满整个客户区
        if(cx != 0 && cy != 0)
                m_ctrlMapX.MoveWindow(0,0,cx,cy,TRUE);
}

       

你可能感兴趣的:(File,null,Class,文档,exe,Components)