zoukankan      html  css  js  c++  java
  • VC++学习之建立窗口

    #include <windows.h>
    #include <string.h>
    
    LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
    
    int _stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
    {
    	HWND hwnd;
    	MSG	 msg;
    	WNDCLASS WindowClass;
    	LPCTSTR className,windowTitle;
    	className="FirstNwWindow";
    	windowTitle="NeuglsWorkStudio";
    
    	if(!hPrevInstance){
    		//not first run, to set the windows class
    		WindowClass.style=NULL;
    		WindowClass.cbClsExtra=0;
    		WindowClass.cbWndExtra=0;
    		WindowClass.hbrBackground=WHITE_BRUSH;
    		WindowClass.hCursor=LoadCursor(hInstance,IDC_ARROW);
    		WindowClass.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
    		WindowClass.hInstance=hInstance;
    		WindowClass.lpfnWndProc=WndProc;
    		WindowClass.lpszClassName=className;
    		WindowClass.lpszMenuName=NULL;
    
    		RegisterClass(&WindowClass);
    	}
    
    	// start to create the window when registed the window class
    	
    	hwnd=CreateWindow(className,windowTitle,WS_OVERLAPPEDWINDOW,
    		CW_USEDEFAULT,
    		CW_USEDEFAULT,
    		CW_USEDEFAULT,
    		CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
    	ShowWindow(hwnd,nShowCmd);
    	UpdateWindow(hwnd);
    	
    	//process the message quenue
    	while(GetMessage(&msg,NULL,NULL,NULL))
    		DispatchMessage(&msg);
    	return msg.wParam;
    }
    
    //window message process function 
    	LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
    	{
    		switch(msg){
    		case WM_DESTROY:
    			PostQuitMessage(0);
    			break;
    		case WM_PAINT:
    			HDC hdc;
    			LPCTSTR text;
    			text="NeuglsWorkStudio";
    			hdc=GetDC(hwnd);
    			TextOut(hdc,10,10,text,strlen(text));
    			break;
    		default:
    			return DefWindowProc(hwnd,msg,wparam,lparam);
    		}
    		return NULL;
    	}      

    呵呵,据说VC入门很难,不过看过去好像不难,呵呵!

  • 相关阅读:
    EFI下WIN8.1和Ubuntu的双系统安装
    硬盘损坏,全盘数据没了,杯具
    GEC2440的RTC时钟
    纠正一下apache2服务器的搭建
    qt和html的比较
    dump做个备份,发个随笔记录下
    忙了1天的qte-arm环境的搭建
    内核版本不同导致无法加载驱动
    wayne生产环境部署(360的容器发布平台-开源)
    openstack swift curl 常用操作
  • 原文地址:https://www.cnblogs.com/neugls/p/1967579.html
Copyright © 2011-2022 走看看