VisualC++中建立MapX控制項

來源:互聯網
上載者:User

首先選擇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);
}

       

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.