第一个win32窗口程序
1、打开vc6.0,文件->新建一个win32 Application工程
2、新建一个c++源文件,内容如下:
#include <stdio.h>#include <windows.h>LRESULT CALLBACK CallWinMainProc(//回调函数声明
HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);//主函数
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{TCHAR proName[] = TEXT("winmain");
WNDCLASS wndclass;wndclass.style = CS_HREDRAW | CS_VREDRAW;//水平垂直大小改变是发出wm_print消息
wndclass.hInstance = hInstance;wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);//左上角的图标,默认空白
wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//背景颜色,获取白色笔刷
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//设置鼠标样式
wndclass.lpszClassName = proName;//类名字
wndclass.lpszMenuName = NULL;//菜单
wndclass.lpfnWndProc = CallWinMainProc;//回调函数
RegisterClass(&wndclass);//注册一个窗口类
HWND hwnd;hwnd = CreateWindow(proName,"第一个窗口程序",WS_OVERLAPPEDWINDOW,0,0,400,400,NULL,NULL,hInstance,NULL);//创建窗口ShowWindow(hwnd,nCmdShow);//显示窗口
UpdateWindow(hwnd);//刷新窗口
MSG msg;while (GetMessageA(&msg,NULL,0,0)) {//循环获取消息队列里的消息TranslateMessage(&msg);DispatchMessage(&msg);}return 0;
}//回调函数
LRESULT CALLBACK CallWinMainProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam){switch(Msg) {
case WM_CREATE:
{}break;
case WM_PAINT:
break;
case WM_DESTROY:
PostQuitMessage(0);break;
default:
return DefWindowProc(hWnd,Msg,wParam,lParam);
}return 0;
}
3、程序运行效果图