第三章

#include<windows.h>
#pragma comment(lib, "winmm.lib")	//此行作用:windows程序设计第41页   添加 WINMM.LIB
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM 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 | MB_OK );
                return 0;
        }

        hwnd = CreateWindow(    szAppName,
                                TEXT("The Hello Program"),
                                WS_OVERLAPPEDWINDOW,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                NULL,
                                NULL,
                                hInstance,
                                NULL);

        ShowWindow( hwnd, iCmdShow );
        UpdateWindow( hwnd );

        while ( GetMessage( &msg, NULL, 0, 0 ) )
        {
                TranslateMessage( &msg );
                DispatchMessage( &msg );
        }

        return msg.wParam;
        //MessageBox( NULL, TEXT("Hello, Windoows 98!"), TEXT("HelloMsg"), 0);

        return 0;
}

LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) 
{
        HDC             hdc;
        PAINTSTRUCT     ps;
        RECT            rect;

        switch( message )
        {
        case WM_CREATE:
                {
                        PlaySound( TEXT("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC );
                        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 );
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值