#include <windows.h>
#pragma comment(lib,"WINMM.LIB")

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);

int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
	static TCHAR szAppName[] = TEXT ("Hello win");   //以0结尾字符串
	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.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
	
	wndclass.lpszMenuName = NULL;
	wndclass.lpszClassName = NULL;

	if(!RegisterClass(&wndclass))
	{
		MessageBox(NULL,TEXT("this program is nt"),szAppName,MB_ICONERROR);
		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,SW_SHOWNORMAL);
	UpdateWindow(hwnd);

	while(GetMessage(&msg,hwnd,NULL,NULL))
	{
		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 win2008"),-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);
}
HelloWin程序(窗口与消息)

 

相关文章:

  • 2021-05-08
  • 2022-01-14
  • 2021-12-18
  • 2022-12-23
  • 2022-02-22
  • 2021-06-15
  • 2021-07-11
猜你喜欢
  • 2021-09-06
  • 2022-02-13
  • 2022-02-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-12
相关资源
相似解决方案