创建窗口类和窗口
int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevIstance
, PSTR szCmdLine , int iCmdShow )
{
static TCHAR szAppName[] = TEXT( "WinProgram" );
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style = 0; //CS_HREDRAW | CS_VREDRAW; 类风格
wndclass.lpfnWndProc = WndProc; //窗口过程
wndclass.cbClsExtra = 0; //为类结构预留空间
wndclass.cbWndExtra = 0; //为窗口结构预留空间
wndclass.hInstance = hInstance; //实例句柄
wndclass.hIcon = LoadIcon( NULL , IDI_APPLICATION );
//NULL 为自定义图标 ID代表图标,预先定义的标识符在WINUSER.H中定义
wndclass.hCursor = LoadCursor( NULL , IDC_ARROW );
//鼠标图标,当鼠标在这个类创建的窗口的客户区域上出现时,它将变成一个小箭头
wndclass.hbrBackground = ( HBRUSH )GetStockObject( WHITE_BRUSH );
//hbr代表刷子句柄,此句意思背景颜色为白色
wndclass.lpszMenuName = NULL; //窗口类菜单
wndclass.lpszClassName = szAppName; //类名,与程序名相同
if( !RegisterClass( &wndclass ) ) //注册窗口类
{
MessageBeep( 0 );
return false;
}
hwnd = CreateWindow //创建窗口
(
szAppName , //窗口类名
TEXT( "Title" ) , //标题
WS_CAPTION | WS_SYSMENU , //WS_OVERLAPPEDWINDOW为标准风格
100 , //窗口左上角相对于屏幕左上角的初始位置 x
100 , // y
WNDHIGH , //width
WNDWIDE , //high
NULL , //父窗口句柄
NULL , //窗口菜单句柄
hInstance , //实例句柄
NULL //创建参数指针
);
ShowWindow( hwnd , iCmdShow ); //显示窗口
UpdateWindow( hwnd ); //绘制客户区
while( GetMessage( &msg , NULL , 0 , 0 ) ) //消息循环,从消息队列中取出一个消息
{ //msg等于WM_QUIT时退出
TranslateMessage( &msg ); //进行键盘转换
DispatchMessage( &msg ); //将消息发送给窗口过程
}
return msg.wParam;
}