數字圖像處理visual studio C++技術實現(楊淑瑩,張樺,陳勝勇)——第一部分MFC基礎

學習計算機圖形學的最好辦法就是通過自己時間,將相關的算法敲出來。這裏我選擇了數字圖像處理visual studio C++技術實現作爲參考,來實現計算機圖形學裏面的一些基本的算法。在這本書裏面需要運用MFC建立一個簡單的對話框程序,然後自己建立一個CDib類庫來對位圖文件進行處理。對於像我這樣沒有接觸過MFC的人來說,書上的例子的實現還是經歷了許多困難。這裏我打算通過這個博客來記錄自己學習數字圖像處理算法的過程,也同時爲沒有基礎的同學提供最簡單易懂的幫助。接下來,我們便嘗試建立一個書上要求的MFC對話框,並添加上菜單欄的控件,爲後面的學習做好準備工作。注意的是我這裏使用的是visual studio 2015,其它版本應該也相差不大。

第一步:建立MFC工程

點擊文件->新建->項目->MFC->MFC應用程序建立一個MFC工程,這裏的工程名是MFCImgProc,意思是mfc圖像處理,你需要自己命名一個項目名,最後點擊完成,MFC項目就創建完畢了。

接下來選擇基於對話框,後面的直接下一步選擇默認項,最後一步選擇CMFCImgProcDlg,即基於對話框的項目。這一項很重要,在後面創建菜單欄控件的時候需要添加回調函數的時候會用到。

 

 

 

 

第二步:創建菜單欄

MFC工具箱中默認沒有提供菜單欄的控件,想達到書上的效果必須自己進行添加,並且自己設置回調函數。首先,在資源視圖中點擊鼠標右鍵,然後選擇添加資源。

然後,選擇Menu->新建。

然後,在右側資源視圖裏面就可以看見Menu這個資源,點擊之後就可以對菜單欄進行設置。這裏簡單地添加了三個選項,分別是文件,打開,關閉。

第三步:爲菜單欄設置回調函數

因爲MFC中默認是沒有菜單欄控件的,因此也不會有默認的回調函數和相關的默認定義,這裏都需要自己進行添加。

1.添加菜單欄控件的聲明,只有添加的聲明MFC才知道有這樣一個控件已經被添加了。

把CMenu m_Menu;

添加到xxxDlg.h的頭文件中,這裏的xxx是你自己設置的工程名。

2.在xxxDlg.cpp中的BOOL CMfcimgprocDlg::OnInitDialog()函數體中,添加

m_Menu.LoadMenu(IDR_MENU1);  //  IDR_MENU1
           SetMenu(&m_Menu);

這時點擊一下運行就可以看到有菜單欄的對話框了,但是菜單欄中的按鍵還未實現任何功能,需要進一步添加消息響應函數才行。

 

 

 

第三步:添加消息響應函數

1.點擊IDR_MENU1->項目->添加現有項

 

2.選擇對話框的源文件,點擊確定。

3.在菜單欄設置的界面,點擊你需要添加功能的按鈕的右鍵,選擇添加事件處理程序。

4.選擇下圖紅色標識部分

5.最後你就可以在事件處理函數裏面添加相關的事件處理程序了,MFC的菜單欄創建的基礎就完成了。爲了測試你所建立的對話框是否成功,可以添加如下代碼並點擊運行,運行之後就會出現下圖的效果。

結語

後面會陸續更新這本書中的所有章節,書中的很多代碼都是無法直接在電腦上運行的,但是思路一般是對的,這裏後續將陸續提供可以運行的代碼,作爲參考,算法的具體實現或許與書上有所不同,但是基本形式和思想是完全一致的,可供參考。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章