创建窗口的例子程序

#include <windows.h>

#pragma comment(lib,"WINMM")

 

// WPARAM  word param  LPARAM  long param

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:

              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);

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值