WIN32 的框架代码

来源:互联网 发布:淘宝客怎样推广 编辑:程序博客网 时间:2024/05/21 07:15

#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, NULL00))
     {
        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) ;
}

原创粉丝点击