導航:首頁 > 編程知識 > mfc編程哪個論壇

mfc編程哪個論壇

發布時間:2023-06-17 14:36:16

A. 什麼是MFC編程

MFC(Microsoft Foundation class)微軟基本類(庫),它是一個面向對象的應用程序架構。程序員利用它可以很方便搭建應用程序框架。

MFC結合了面向對象的編程技術和WINDOWS消息驅動的編程技術,並封裝了WIN32API,其設計好處是:消除了WIN32API的復雜性,封裝了WIN32API,統一了程序的概念,而且可擴展。

MFC實際上是微軟提供的,用於在C++環境下編寫應用程序的一個框架和引擎。VC++是Windows下開發人員使用的專業C++SDK,MFC就是掛在它之上的一個輔助軟體開發包。

(1)mfc編程哪個論壇擴展閱讀

MFC編程優勢

面對底層程序,它能很輕松的與Windows API或驅動程序結合,就是在自己的代碼中直接使用API函數,而API和驅動程序的資料都是以C語言為基礎的,這使得VC程序員能夠更輕松的使用Windows API。

這樣造成了一個很有意思的現象,即入門時VC程序員要付出更多的努力來學習,但是一旦掌握後,開發其他領域的程序或使用第三方軟體時,如工業控制類的程序,由於底層的程序都是用C語言編寫,反倒是VC程序員能夠更快的掌握該領域的編程技術。而很多其他的編程語言甚至找不到相關的資料。

這就說明VC(MFC)實際上是一種入門困難,但是擴展學習卻很輕松的語言框架。

B. QT和MFC哪個更好

1、語言本身
QT:跨平台,語法結構簡單清晰。面向對象的特性體現的比MFC明顯。代碼寫起來比較優雅,也就是說上手會快一點。

MFC:在Windows平台地位毋庸置疑,QT在windows下基本屬於非主流了。個人感覺MFC相較於QT是比較雜亂的,你可以看下MFC以及QT
的實例代碼,直觀上就可以了解了。並且要寫MFC必須要知道Windows的消息循環機制。而QT開始時並不需要了解Windows底層的東西。

2、學習資源
QT:基本上只有官方的官網和demo了,相關的開發論壇比MFC的少很多,畢竟敲MFC的人要多。
MFC:MSDN資源,對於初學者來說可能MSDN比較枯燥,相關論壇和那種問答的資源要多很多,一般初學者遇到的問題都可以看到前輩們的解決方法。

3、IDE以及開發配置
初學者應該是windows,對於MFC,一個Visual Studio就足夠了。QT,用QT Creator,配置也不會太麻煩。

個人建議:QT。

推薦《精通QT4編程》一書

C. 我想學c++圖形界面的編程,有人說MFC已經過時了,請推薦好的界面編程技術

給你一個WindowsSDK編程的例子,該代碼能出現一個正規的Windows窗口。


此代碼在VisualC++測試通過。


#pragma comment(linker,"/SUBSYSTEM:Windows /ENTRY:mainCRTStartup")
#include <windows.h>
/* 使類名成為全局變數 */
TCHAR szClassName[ ] = TEXT("WindowsApp");
/* 這個函數由Windows內部函數DispatchMessage()調用 */
LRESULT CALLBACK WindowProcere (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
switch (message) /* 處理信息 */
{
case WM_DESTROY:
PostQuitMessage (0); /* 發送WM_QUIT到消息隊列 */
break;
case WM_PAINT:
hdc = BeginPaint (hWnd, &ps) ;
GetClientRect (hWnd, &rect) ;
DrawText (hdc, TEXT("Hello, Windows NT!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
EndPaint (hWnd, &ps) ;
break ;
default: /* 不處理的消息 */
return DefWindowProc (hWnd, message, wParam, lParam);
}
return 0;
}
/* 下面是主函數 */
int main ( void )
{
HINSTANCE hThisInstance = GetMoleHandle(NULL) ;
int nFunsterStil = SW_SHOW ;
HWND hWnd; /* 這是窗口的句柄 */
MSG messages;/* 應用程序的消息保存在這里 */
WNDCLASSEX wincl;/* 窗口類的數據結構 */
/* 窗口結構 */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcere;/* 這個函數由Windows操作系統調用 */
wincl.style = CS_DBLCLKS; /* 獲取雙擊指令 */
wincl.cbSize = sizeof (WNDCLASSEX);
/* 使用默認圖標和滑鼠指針 */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* 沒有菜單 */
wincl.cbClsExtra = 0;/* 窗口類後面沒有多餘的位元組 */
wincl.cbWndExtra = 0;/* 結構或者窗口實例 */
/* 使用窗口的默認顏色作為窗口的背景色 */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
/* 注冊窗口類。如果注冊失敗,那麼就退出程序 */
if (!RegisterClassEx (&wincl))
return 0;
/* 窗口類已被注冊。創建它的程序 */
hWnd = CreateWindowEx (
0,
szClassName, /* 類名 */
TEXT("Windows App"), /* 窗口標題欄的文字 */
WS_OVERLAPPEDWINDOW, /* 默認窗口 */
CW_USEDEFAULT, /* 窗口左上角的位置 */
CW_USEDEFAULT, /* 窗口右下角的位置 */
544, /* 窗口寬度(以「像素」位單位) */
375, /* 窗口高度(以「像素」位單位) */
HWND_DESKTOP,/* 窗口是桌面的子窗口 */
NULL,/* 該窗口無菜單 */
hThisInstance, /* 程序實例的句柄 */
NULL /* 沒有窗口創建的數據 */
);
/* 顯示窗口 */
ShowWindow (hWnd, nFunsterStil);
/* 重繪窗口 */
UpdateWindow(hWnd);
/* 運行消息循環。循環到GetMessage()函數返回0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* 把虛擬信息翻譯成字元信息 */
TranslateMessage(&messages);
/* 發送信息到窗口過程 */
DispatchMessage(&messages);
}
/* 返回PostQuitMessage()函數的返回值 */
return messages.wParam;
}
閱讀全文

與mfc編程哪個論壇相關的資料

熱點內容
網路評選一般有哪些 瀏覽:476
2021三支一扶報名數據在哪裡看 瀏覽:914
網路未備案怎麼打得開 瀏覽:987
計算機程序用什麼編程語言 瀏覽:324
linux入門常用命令 瀏覽:497
江寧區哪裡有數控編程培訓 瀏覽:778
java寫一個shape形狀類 瀏覽:744
win7如何設置word背景顏色 瀏覽:484
如何創造電腦編程語言 瀏覽:56
昂達平板電腦圖形密碼忘記怎麼辦 瀏覽:92
組織文件內容是什麼 瀏覽:183
0基礎如何學習智能編程 瀏覽:366
java程序員全攻略下載 瀏覽:715
網路逆向教程 瀏覽:135
iso文件如何重裝系統 瀏覽:750
ghost鏡像文件路徑如何恢復 瀏覽:832
搭建網站需要多少錢啊 瀏覽:599
編程貓怎麼設置背景亮度 瀏覽:177
qq文件破損 瀏覽:414
javapoi配置 瀏覽:608

友情鏈接