MFC Windows编程模型
生活随笔
收集整理的這篇文章主要介紹了
MFC Windows编程模型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <Windows.h>//回調函數聲明
LRESULT CALLBACK WndProc(HWND,//H handler 句柄 , WDN窗口 //HWND 窗口句柄UINT,WPARAM,LPARAM);//入口函數
int WINAPI WinMain(HINSTANCE hInstance,//H INSTANCE實例 HINSTANCE實例句柄HINSTANCE hPrevInstance,LPSTR lpszCmdLine,int nCmdShow)
{MSG msg;//創建消息句柄HWND hwnd;//創建窗口句柄WNDCLASS wc;//創建窗口類
//創建一個窗口需要//(1)設計一個窗口類wc.style = 0;wc.lpfnWndProc = (WNDPROC)WndProc;wc.cbClsExtra = 0;wc.cbWndExtra = 0;//實例句柄wc.hInstance = hInstance;//windows標準圖標wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);//鼠標指針的樣式wc.hCursor = LoadCursor(NULL, IDC_ARROW);//背景顏色wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);//菜單wc.lpszMenuName = NULL;//窗口類名稱wc.lpszClassName = TEXT("MyWndClass");//(2)注冊窗口RegisterClass(&wc);//(3)創建窗口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)消息循環while (GetMessage(&msg, NULL, 0, 0)){//翻譯消息TranslateMessage(&msg);//轉發到窗口過程DispatchMessage(&msg);}return msg.wParam;
}//窗口過程
LRESULT CALLBACK WndProc(HWND hwnd,//窗口句柄UINT message,WPARAM wParam,LPARAM lParam)
{PAINTSTRUCT ps;HDC hdc;//DC句柄RECT rect;//對消息進行處理switch (message){case WM_SIZE://重畫return 0;case WM_LBUTTONDOWN://處理鼠標左鍵的按下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自己去處理與此程序無關的消息return DefWindowProc(hwnd, message, wParam, lParam);
}
總結
以上是生活随笔為你收集整理的MFC Windows编程模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一个MFC
- 下一篇: Windows 目录结构,服务以及端口,