学习MFC第二天——第一个Windows程序

来源:互联网 发布:mac 杀毒 编辑:程序博客网 时间:2024/04/30 09:08

在vs2010中建立一个win32空项目并在源文件里建立一个空的c++源文件

然后自己写了一个Windows程序


#include <windows.h>#include <stdio.h>LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){WNDCLASS wndcls;wndcls.cbClsExtra = 0;wndcls.cbWndExtra = 0;wndcls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);wndcls.hCursor = LoadCursor(NULL,IDC_CROSS);wndcls.hIcon = LoadIcon(NULL,IDI_APPLICATION);wndcls.hInstance = hInstance;wndcls.lpfnWndProc = WinSunProc;wndcls.lpszClassName = "birdlove1987";wndcls.lpszMenuName = NULL;wndcls.style = CS_HREDRAW | CS_VREDRAW;RegisterClass(&wndcls);HWND hwnd;hwnd = CreateWindow("birdlove1987","学习MFC",WS_OVERLAPPEDWINDOW,0,0,800,600,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);MSG msg;while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}return 0;}LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam){switch(uMsg){case WM_CHAR:char szChar[20];sprintf(szChar,"char is %d",wParam);MessageBox(hwnd,szChar,"birdlove1987",0);break;case WM_LBUTTONDOWN:MessageBox(hwnd,"mouse clicked","birdlove1987",0);HDC hdc01;hdc01 = GetDC(hwnd);TextOut(hdc01,0,50,"学习MFC",strlen("学习MFC"));ReleaseDC(hwnd,hdc01);break;case WM_PAINT:HDC hdc02;PAINTSTRUCT ps;hdc02 = BeginPaint(hwnd,&ps);TextOut(hdc02,0,0,"学习MFC",strlen("学习MFC"));EndPaint(hwnd,&ps);break;case WM_CLOSE:if(IDYES == MessageBox(hwnd,"是否关闭程序?","birdlove1987",MB_YESNO)){DestroyWindow(hwnd);}break;case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hwnd,uMsg,wParam,lParam);}return 0;}


0 0