程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> MFC 坦克定位

MFC 坦克定位

編輯:C++入門知識

最近學習MFC,寫了個用鍵盤上下左右移動的坦克界面,效果圖:

 

 

先用VC++新建一個最簡單的MFC項目,基於Dialog的

1. 添加坦克圖片資源:略

2. 添加3個變量:x, y, m_bitmap



 

3. 在初始化方法中加載bitmap以及設置好初始的坐標位置:

       ->m_bitmap.LoadBitmapW(IDB_BITMAP2);  
->m_bitmap.GetBitmap(&bmpInfo); 
->GetWindowRect(&r);  
    ->x=(r.right-r.left)/-bmpInfo.bmWidth/;      
    ->y=(r.bottom-r.top)/-bmpInfo.bmHeight/; 

    

 

4. 重寫OnPaint函數:

    CClientDC d(&&->m_bitmap.GetBitmap(&->x, ->y, bmpInfo.bmWidth, bmpInfo.bmHeight, &memDC, , , SRCCOPY);   

 

5. 掛載鍵盤event:


    ->x-=->x+=->y-=->y+=->InvalidateRect(NULL);  

 

6. 由於Dialog中的事件機制,需要加入消息預處理函數才能讓程序真正接收到keydown事件,如下:

BOOL Ctest3Dlg::PreTranslateMessage(MSG*
     (pMsg->message ==->wParam, pMsg->

上面寫的比較簡單,事件關聯沒有寫進去,不過由於有UI向導幫助建立,所以就沒有寫,如:



 

哈哈,現在能控制坦克的上下左右了。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved