MFC Windows编程模型
生活随笔
收集整理的這篇文章主要介紹了
MFC Windows编程模型
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#include <Windows.h>//回調(diào)函數(shù)聲明
LRESULT CALLBACK WndProc(HWND,//H handler 句柄 , WDN窗口 //HWND 窗口句柄UINT,WPARAM,LPARAM);//入口函數(shù)
int WINAPI WinMain(HINSTANCE hInstance,//H INSTANCE實(shí)例 HINSTANCE實(shí)例句柄HINSTANCE hPrevInstance,LPSTR lpszCmdLine,int nCmdShow)
{MSG msg;//創(chuàng)建消息句柄HWND hwnd;//創(chuàng)建窗口句柄WNDCLASS wc;//創(chuàng)建窗口類
//創(chuàng)建一個(gè)窗口需要//(1)設(shè)計(jì)一個(gè)窗口類wc.style = 0;wc.lpfnWndProc = (WNDPROC)WndProc;wc.cbClsExtra = 0;wc.cbWndExtra = 0;//實(shí)例句柄wc.hInstance = hInstance;//windows標(biāo)準(zhǔn)圖標(biāo)wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);//鼠標(biāo)指針的樣式wc.hCursor = LoadCursor(NULL, IDC_ARROW);//背景顏色wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);//菜單wc.lpszMenuName = NULL;//窗口類名稱wc.lpszClassName = TEXT("MyWndClass");//(2)注冊窗口RegisterClass(&wc);//(3)創(chuàng)建窗口hwnd = CreateWindow(TEXT("MyWndClass"),TEXT("Hello SDK Application"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,//父窗口句柄NULL,//窗口菜單句柄hInstance,NULL);//(4)顯示和更新窗口ShowWindow(hwnd, nCmdShow);UpdateWindow(hwnd);//(5)消息循環(huán)while (GetMessage(&msg, NULL, 0, 0)){//翻譯消息TranslateMessage(&msg);//轉(zhuǎn)發(fā)到窗口過程DispatchMessage(&msg);}return msg.wParam;
}//窗口過程
LRESULT CALLBACK WndProc(HWND hwnd,//窗口句柄UINT message,WPARAM wParam,LPARAM lParam)
{PAINTSTRUCT ps;HDC hdc;//DC句柄RECT rect;//對消息進(jìn)行處理switch (message){case WM_SIZE://重畫return 0;case WM_LBUTTONDOWN://處理鼠標(biāo)左鍵的按下PostQuitMessage(0);return 0;case WM_PAINT://繪制消息hdc = BeginPaint(hwnd, &ps);GetClientRect(hwnd, &rect);Ellipse(hdc, 0, 0, 600, 300);DrawText(hdc, TEXT("Hello,Windows!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hwnd, &ps);return 0;case WM_DESTROY://銷毀窗口PostQuitMessage(0);return 0;}//windows自己去處理與此程序無關(guān)的消息return DefWindowProc(hwnd, message, wParam, lParam);
}
總結(jié)
以上是生活随笔為你收集整理的MFC Windows编程模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一个MFC
- 下一篇: Windows 目录结构,服务以及端口,