FirstWin32

#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 msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)   
{
    HDC            hdc ;  
    PAINTSTRUCT ps ;
    RECT        rect ;
    
    switch (message) 
    {
    case WM_CREATE:
            return 0 ;
    case   WM_PAINT:
        hdc = BeginPaint (hwnd, &ps) ;
        GetClientRect (hwnd, &rect) ;
        DrawText (hdc,
            TEXT ("Hello, Windows 98!"),
            -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) ;      
}

 

posted @ 2020-03-24 16:33  Butcher512  阅读(122)  评论(0)    收藏  举报