Win32 的框架代码

老是写同样的代码,自己也懒得记,就把他放在上面以后方便用:

#include  < windows.h >

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int  WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, 
int  iCmdShow)
{
    static TCHAR szAppName[] 
=  TEXT ( " HelloWin " ) ;
    HWND    hwnd ;
    MSG    msg ;
    WNDCLASS    wndclass ;

     wndclass.style          
=  CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc  
=  WndProc ;
    wndclass.cbClsExtra      
=   0  ;
    wndclass.cbWndExtra      
=   0  ;
    wndclass.hInstance      
=  hInstance ;
    wndclass.hIcon          
=  LoadIcon ( NULL , IDI_APPLICATION) ;
      wndclass.hCursor      
=  LoadCursor ( NULL , IDC_ARROW) ;
     wndclass.hbrBackground    
=  (HBRUSH) GetStockObject (WHITE_BRUSH) ;
      wndclass.lpszMenuName    
=   NULL  ;
    wndclass.lpszClassName    
=  szAppName ;

    
if  (!RegisterClass ( & wndclass))
     {
        MessageBox (    
NULL , TEXT ( " This program requires Windows NT! " ), 
                          szAppName, MB_ICONERROR) ;
        return 
0  ;
     }
    hwnd 
=  CreateWindow( szAppName,     //  window class name
            TEXT (
" The Hello Program " ),     //  window caption
            WS_OVERLAPPEDWINDOW,    
//  window style
            CW_USEDEFAULT,    
//  initial x position
            CW_USEDEFAULT,    
//  initial y position
            CW_USEDEFAULT,    
//  initial x size
            CW_USEDEFAULT,    
//  initial y size
            
NULL ,             //  parent window handle
            
NULL ,             //  window menu handle
            hInstance,        
//  program instance handle
            
NULL ) ;          //  creation parameters
     
    ShowWindow (hwnd, iCmdShow) ;
    UpdateWindow (hwnd) ;
     
    
while  (GetMessage ( & msg,  NULL 0 0 ))
     {
        TranslateMessage (
& msg) ;
          DispatchMessage (
& msg) ;
     }
    return (
int )msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HDC            hdc ;
    PAINTSTRUCT ps ;
    RECT        rect ;
     
    switch (message)
     {
    
case      WM_PAINT:
        hdc 
=  BeginPaint (hwnd,  & ps) ;
          
        GetClientRect (hwnd, 
& rect) ;
          
        DrawText (hdc, TEXT (
" Hello, Windows XP! " ),  - 1 & rect,
            DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
              EndPaint (hwnd, 
& ps) ;
            return 
0  ;
          
    
case     WM_DESTROY:
        PostQuitMessage (
0 ) ;
        return 
0  ;
     }
   return DefWindowProc (hwnd, message, wParam, lParam) ;
}

你可能感兴趣的:(Win32 的框架代码)