天天看點

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

作者:軟體界面開發

1.前言

2023年,UI設計大前端時代,360安全衛士軟體界面依舊采用Visual C++ 編寫界面,小編認為主要原因是:Windows系統版本之間的相容性、程式運作速度快、使用者體驗好、性能穩定、記憶體使用空間占用極小等特性,而這恰恰是Visual C++ MFC開發架構的優勢,大家印象中的MFC很難實作漂亮美觀的界面,而實際上熟練的Visual C++程式員也可以輕松實作非常漂亮的界面,并且經得起時間的錘煉成為經典耐用的好産品,好比蘋果的IOS系統采用C++使用者絲滑體驗永遠快Android一步。

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖1、大家印象中的WinUI/WPF/WinForm/MFC界面對比圖

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖2、基于Visual C++編寫的360安全衛士界面

2.Visual C++與MFC架構概況

Microsoft Visual C++(簡稱Visual C++、MSVC、VS或VC)是微軟公司的免費C++開發工具,具有內建開發環境,可提供編輯C語言,C++以及C++/CLI等程式設計語言。VC++內建了便利的除錯工具,特别是內建了微軟Windows視窗作業系統應用程式接口(Windows API)、三維動畫DirectX API,Microsoft .NET架構。

MFC (Microsoft Foundation Classes)是微軟基礎類庫的簡稱,是微軟公司實作的一個C++類庫,主要封裝了大部分的windows API函數,Visual C++是微軟公司開發的C/C++的內建開發環境,所謂內建開發環境,就是說利用它可以編輯,編譯,調試,而不是使用多種工具輪換操作,靈活性較大。VC也指它的内部編譯器,內建開發環境必須有一個編譯器核心。

MFC除了是一個類庫以外,還是一個架構,在VC++裡建立一個MFC的工程,開發環境會自動幫你産生許多檔案,同時它使用了mfcxx.dll。xx是版本,它封裝了MFC核心,是以你在你的代碼看不到原本的SDK程式設計中的消息循環等等東西,因為MFC架構幫你封裝好了,這樣你就可以專心的考慮你程式的邏輯,而不是這些每次程式設計都要重複的東西,但是由于是通用架構,沒有最好的針對性,當然也就喪失了一些靈活性和效率。但是MFC的封裝很淺,是以效率上損失不大。

表1、MFC開發架構的優劣勢

優勢

(1)程式占用空間小

編譯的可運作程式可小至幾Kb 位元組,運作記憶體占用也極小。

(2)性能優異

MFC封裝了Win32API,OLEAPI,ODBCAPI等底層函數的功能,并提供更高一層的接口,簡化了Windows程式設計。同時,MFC支援對底層API的直接調用。

(3) 相容性強

适用于微軟系列所有作業系統,包括:Windows XP/Vista/7/8/10/11/12、Windows Server 2002/2003/2008/2012/2022、Windows Embedded等各個用戶端和服務端版本系統。

(4)運作環境要求低。

可用于64M記憶體以上各種環境,譬如:基于arm晶片的Windows CE嵌入式系統等。

劣勢

1. 門檻相對較高

2. 開發效率較低

3. 美化界面較難。

主要應用場景:對性能要求高和使用者體驗好的場景,常應用于工業控制、醫療影像、機器人、AI算法、音視訊、系統工具等領域。

3. Visual C++ 項目開發

Microsoft Visual C++ 6.0是最為經典的一款IDE,經久不衰,研發的産品生命力極其頑強,以緻于Microsoft Visual C++ 2022仍保留原界面風格,後續功能更新較少。

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖3、Visual C++ 6.0軟體啟動界面

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖4、Visual C++ 6.0建立項目界面

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖5、Visual Studio 2022軟體啟動界面

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖6、Visual C++ 2022 建立項目界面

4. Visual C++ 項目界面美化

為了讓軟體能在視覺上給使用者帶來一種清新的感覺,進而避免潛在的使用者視覺疲勞和審美疲勞,軟體一般都要經過專業的界面設計和美化。

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖7、Visual C++ 項目界面布局示例

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖8、Visual C++ 項目界面美化後運作圖

Windows平台開發架構之MFC:Visual C++ MFC開發界面又醜又難嗎?

圖9、Visual C++ MFC軟體界面美化示例圖

5、結束語

Visual C++ / MFC的世界,仍受不少IT專家和程式員的喜愛,在無論是否技術落後或沉幕,都應該理性對待樂觀面對,選擇适合企業戰略要求的軟體開發架構才是最佳選擇。認真總結和分析曾經作品的缺陷和存在的不足之處,客觀面對研發思路和存在的差距,别在意一時之得失。對自己要有足夠的信心,堅信自己的選擇,做到在創作中不斷學習和成長進步,才能在今後的創作中做出好作品,改變目前被動的現狀。

繼續閱讀