首页 > 代码库 > Win32API 窗口程序的创建7大步骤

Win32API 窗口程序的创建7大步骤

Win32API 窗口程序的创建7大步骤

    • 1 定义WinMain入口函数
    • 2 定义窗口处理函数 WindowsProc(用来处理消息。有如公司业务处理,具体干活的人。)
    • 3 注册窗口类 RegisterClass(往系统中写数据。有如在工商局把填表并提交上去注册公司)
    • 4 创建窗口 CreateWindows (在内存中创建窗口出来。申请了一块内存,保存了关于窗口的数据。有如实体公司有了地点空间,装修好了,并有了从业人员等。)
    • 5 显示窗口 ShowWindows/UpdateWindow (显示窗口,把窗口绘制在显示器上。有如公司开张打广告)
    • 6 消息循环 while(1){......} ( 有如公司开展了业务搜寻,不断的扩展业务)
      • GetMessage (抓消息,找项目,拉业务)
      • TranslateMessage (翻译消息,有如需求分析师,写需求分析文档,把客户的要求写成程序猿能看懂的文档)
      • DisptachMessage (派发消息,谁处理消息就派发给谁。有如公司谁干活就派发给他干活)
    • 7 消息处理 由激发消息DisptachMessage触发回调函数WindowsProc来干活。
    • 不注册窗口类,能不能成功创建窗口?
      • 答案是肯定的,创建系统现有的类窗口,就不再需要注册:如Button控件。
        // WinAPICreat.cpp : Defines the entry point for the application.
        //一个巨大的按钮出来了~~!

        #include "stdafx.h"

        int APIENTRY WinMain(HINSTANCE hInstance,
        HINSTANCE hPrevInstance,
        LPSTR lpCmdLine,
        int nCmdShow)
        {
        // 没有注册窗口类,是因为系统帮我们注册了。

        HWND hWnd = CreateWindow("BUTTON","OK",WS_OVERLAPPEDWINDOW,100,100,500,500,
        NULL,NULL,hInstance,NULL);
        ShowWindow(hWnd,SW_SHOW);
        UpdateWindow(hWnd);
        MSG msg;
        while (GetMessage(&msg,NULL,NULL,NULL))
        {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
        }

        return 0;
        }

Win32API 窗口程序的创建7大步骤