自己寫「掃雷」(一)入門MFC

2021-08-09 02:16:05 字數 1423 閱讀 3468

開發環境:vs2015

首先新建乙個mfc應用程式,一切都按下一步,即新建了乙個模板的mfc應用程式專案,不過我選的是單文件模型

在vs中,專案檔案清單如下:

執行該程式,執行的結果是:

那如何一點一點修改,變成掃雷呢,不急,我們慢慢來!

我們自動生成的ondraw()函式幾乎是沒有任何內容的:

void cmy17mymineview::ondraw(cdc* /*pdc*/)

那麼傳入的這個引數cdc類指標是什麼東西呢?

首先看到和這個函式類似的乙個函式onpaint(),它是基類cview的乙個成員函式:

///cview預設的標準的重畫函式

void cview::onpaint()

可以看到,ondraw函式就是在這裡被呼叫的,而傳入的唯一引數其實是乙個dc類的位址,

那麼cdc類如何使用呢,作為小白的我一無所知啊?!那只能看教程慢慢用了呀!

我是學習教程:

中的圖形影象的。

首先要把我們的客戶區有乙個基本的背景,那自然用畫刷唄。新增**至ondraw()函式中:

void cmy17mymineview::ondraw(cdc* pdc)

先宣告乙個畫刷物件,並且呼叫其成員函式 createsolidbrush()來確定顏色,再初始化乙個矩形類,這就和座標系有關係了。

msdn說:

螢幕上的點通過 x 和 y 座標對描述,x 座標向右遞增,y 座標從上往下遞增

也就是說,我們

定義了乙個長1200,寬800的矩形,最後讓pdc使用fillrect()函式,也就是使用該畫刷去刷這個矩形。看看執行效果如何:

確實刷到了。

接下來就是一點點添磚加瓦,在掃雷中,有2個黑框,左邊顯示剩餘雷的數量,右邊顯示已經過去多少時間,那麼首先要給

2個黑框,同理,我們再用

2個黑刷子去刷

2個矩形吧,

ondraw()

函式更新如下:

void cmy17mymineview::ondraw(cdc* pdc)

實現效果如下:

MFC入門學習筆記(一)

最近看了一下mfc,隨手記錄下點東西,算是留著給自己偶爾看看吧 學習環境 vs2017 mfc小專案實戰 1.使用mfc平台新建文件時,可選基本對話方塊 單文件介面 多文件介面 多個頂層文件,一般選擇基本對話方塊或多文件mdi兩者就夠用了。2.檢視從mfc類cview派生。3.mfc提供了使文件與其...

自己寫乙個LIST

pragma once forward declarations templateclass clistnode templateclass clist template class clistnode void insertafter t data template void clistnode ...

自己寫乙個框架

自己寫乙個框架 單入口mvc 類 庫 屬於擴充套件 乙個好的配置檔案和讀取功能 db介面 dispather.php index.php dispather 分析controller action 根據分析controller action 動態載入 引入乙個自動載入機制 controller.ph...