使用API,手工生成 Windows应用程序全过程(图解+文字说明)

  1. 首先找到VC++6.0应用程序图标,双机打开VC++6.0。


  2. 使用API,手工生成 Windows应用程序全过程(图解+文字说明)_第1张图片


  3. 在VC菜单栏,选择“File"菜单。
    使用API,手工生成 Windows应用程序全过程(图解+文字说明)_第2张图片

  4. 选择“NEW“菜单项,打开”NEW“对话框。
    使用API,手工生成 Windows应用程序全过程(图解+文字说明)_第3张图片

  5. 如上对话框所示,选择”Project“栏,选中"Win32 Application",在”Project Name“中输入工程名,选择好保存地址。然后单击”OK“。


  6. 使用API,手工生成 Windows应用程序全过程(图解+文字说明)_第4张图片
  7. 弹出如上对话框,选择”An empty project“,然后单击”Finish“。
  8. 此时进入编辑界面。选择"FileView"视图,展开”Source Files“文件夹,选中”windows.cpp“.(此时是你定义的,工程名.cpp),点击打开此cpp文件。

  9. 将文件中的原有内容删除。插入如下代码。
    // windows.cpp : Defines the entry point for the application.
    //
    #include "stdafx.h"
    #include <windows.h>
    #include <stdio.h>
    
    LRESULT CALLBACK WinSunProc(
      HWND hwnd,      // handle to window
      UINT uMsg,      // message identifier
      WPARAM wParam,  // first message parameter
      LPARAM lParam   // second message parameter
    );
    
    int WINAPI WinMain(
      HINSTANCE hInstance,      // handle to current instance
      HINSTANCE hPrevInstance,  // handle to previous instance
      LPSTR lpCmdLine,          // command line
      int nCmdShow              // show state
    )
    {	WNDCLASS wndcls;
    	wndcls.cbClsExtra=0;
    	wndcls.cbWndExtra=0;
    	wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
    	wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
    	wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
    	wndcls.hInstance=hInstance;
    	wndcls.lpfnWndProc=WinSunProc;
    	wndcls.lpszClassName="Computer2016";
    	wndcls.lpszMenuName=NULL;
    	wndcls.style=CS_HREDRAW | CS_VREDRAW;
    	RegisterClass(&wndcls);	//注册窗口类
    	HWND hwnd;
    	hwnd=CreateWindow("Computer2016","四川理工学院-计算机学院",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);	//创建窗口
    	ShowWindow(hwnd,SW_SHOWNORMAL);	//显示窗口
    	UpdateWindow(hwnd);	//更新窗口
    	MSG msg;
    	while(GetMessage(&msg,NULL,0,0))	//消息循环
    	{
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    	return 0;
    }
    LRESULT CALLBACK WinSunProc(
      HWND hwnd,      // handle to window
      UINT uMsg,      // message identifier
      WPARAM wParam,  // first message parameter
      LPARAM lParam   // second message parameter
    )
    {	switch(uMsg)
    	{
    	case WM_CHAR:
    		char szChar[20];
    		sprintf(szChar,"char is %d",wParam);
    		MessageBox(hwnd,szChar,"weixin",0);
    		break;
    	case WM_LBUTTONDOWN:
    		
    		MessageBeep(10);	//提示音。
    		MessageBox(hwnd,"你按下了鼠标!","提示",0);
    		HDC hdc;
    		hdc=GetDC(hwnd);
    		TextOut(hdc,0,50,"Widows程序设计实验",strlen("Widows程序设计实验"));
    		ReleaseDC(hwnd,hdc);
    		break;
    
    	case WM_PAINT:
    		HDC hDC;
    		PAINTSTRUCT ps;
    		hDC=BeginPaint(hwnd,&ps);
    		TextOut(hDC,0,0," 程序设计实验",strlen("程序设计实验")+1);
    		
    		EndPaint(hwnd,&ps);
    		break;
    	case WM_CLOSE:	
    		if(IDYES==MessageBox(hwnd,"是否真的结束?","提示",MB_YESNO))
    		{
    		
    	
    			DestroyWindow(hwnd);
    		}
    		break;
    	case WM_DESTROY:
    		PostQuitMessage(0);
    		break;
    	default:
    		return DefWindowProc(hwnd,uMsg,wParam,lParam);
    	}
    	return 0;
    }
    
  10. 点击工具栏的编译运行按钮。


  11. 运行结果如下:
    使用API,手工生成 Windows应用程序全过程(图解+文字说明)_第5张图片

  12. 此程序添加了鼠标响应函数和窗口销毁响应函数和窗口重绘函数,所以点击鼠标左键或关闭窗口或移动窗口时,程序会对于做出相应的操作。

  13. 至此,通过手工建立一个应用程序的过程便结束了。

    注:参考同类文章,Windows,C++编程创建窗口的过程详解

你可能感兴趣的:(图解,全过程,手工生成,Windows应用程序,使用API)