zoukankan      html  css  js  c++  java
  • HelloWin程序(窗口与消息)

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

    
    
  • 相关阅读:
    [Cerc2013]Magical GCD
    UVA 1393 Highways
    UVA 10214 Trees in a Wood
    [SDOI2010]大陆争霸
    Oracle逻辑读详解
    DBA_2PC_PENDING (转)
    oracle autotrace使用
    升级oracle 9i到10g
    VMware 虚拟机中添加新硬盘的方法(转载)
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql (转)
  • 原文地址:https://www.cnblogs.com/persuit/p/5402640.html
Copyright © 2011-2022 走看看