Win32程序创建步骤

1.编写WinMain函数,可以在MSDN上查找并复制

2.设计窗口类(WNDCLASS)

3.注册窗口类

4.创建窗口

5.显示并更新窗口

6.编写消息循环

7.编写窗口过程函数。窗口过程函数的语法,可通过MSDN查看WNDCLASS的lpfnWndPRoc成员变量

#include<windows.h> #include<stdio.h> LRESULT CALLBACK WinSunProc ( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPara ); int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASS wndcls; wndcls.cbClsExtra = 0; wndcls.cbWndExtra = 0; wndcls.hbrBackground = (HBRUSH) GetStockObject( BLACK_BRUSH); wndcls.hCursor = LoadCursor(NULL,IDC_CROSS); wndcls.hIcon = LoadIcon( NULL, IDI_ERROR); wndcls.hInstance = hInstance; wndcls.lpfnWndProc = WinSunProc; wndcls.lpszClassName = "laimingxing"; wndcls.lpszMenuName = NULL; wndcls.style = CS_HREDRAW | CS_VREDRAW ; RegisterClass( &wndcls); HWND hwnd ; hwnd = CreateWindow( "laimingxing" , "catfan.me/lalor" , WS_OVERLAPPEDWINDOW , 0, 0, 600, 400 , NULL , NULL , hInstance, NULL); ShowWindow( hwnd ,SW_SHOWNORMAL); UpdateWindow(hwnd); MSG msg; while( GetMessage( &msg , NULL , 0 , 0 )) { TranslateMessage( &msg); DispatchMessage( &msg); } return msg.wParam; } LRESULT CALLBACK WinSunProc( HWND hwnd, UINT uMsg, WPARAM wParam , LPARAM lParam) { switch( uMsg) { case WM_CHAR: char szChar[ 20 ]; sprintf( szChar ,"char code is %d" , wParam); MessageBox( hwnd , szChar, "char" , 0 ); break; case WM_LBUTTONDOWN: MessageBox( hwnd , "mouse clicked" , "message" , 0 ); HDC hdc; hdc = GetDC( hwnd); TextOut( hdc , 50, 50, "程序员之家。", strlen("程序员之家。") ); break; case WM_PAINT: HDC hDC; PAINTSTRUCT ps; hdc= BeginPaint( hwnd, &ps); TextOut( hDC , 0, 0, "catfan.me/lalor" , strlen("catfan.me/lalor" )); EndPaint( hwnd , &ps); break; case WM_CLOSE: if( IDYES == MessageBox( hwnd , "是否真的结束?" , "message" , MB_YESNO)) { DestroyWindow( hwnd); } else { MessageBox( hwnd , "cancel is your choice" , "message" , 0 ); } break; case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd , uMsg , wParam , lParam ); } return 0; }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值