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;

        }

时间: 2024-10-13 16:11:43

Win32API 窗口程序的创建7大步骤的相关文章

java 简单的窗口程序之创建框架

import java.awt.*; import javax.swing.*; public class SwingG { public static void main(String[] args) { EventQueue.invokeLater(new Runnable(){ public void run(){ SimpleFrame frame=new SimpleFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE

Cocos2dx集成于windows桌面窗口程序的步骤

2D游戏需要做编辑器,而编辑器总是希望可以复用游戏中的逻辑来运行场景试看效果. 对于cocos2dx开发的程序,这个需求可以描述为: 实现一种方法,在桌面窗口程序中的某个控件上显示cocos2dx的场景,而其他部分保持该操作系统原生ui的功能. 这里以windows桌面程序为例,描述如何实现这一点,cocos2dx版本为2.2.5 代码用qt实现,但是没有用到太多qt的东西,windows api通用. 1 创建工程.这里我们依然使用cocos2dx提供的工程生成器创建工程,以得到完美的coco

Windows核心编程03-编写窗口程序的步骤

编写窗口程序的步骤: 1 定义WinMain函数 2 定义窗口处理函数(处理消息) 3 注册窗口类 4 创建窗口(在内存中创建窗口) 5显示窗口(根据内存的数据将窗口绘制出来) 6消息循环(提取/翻译/派发)消息 7消息处理 #include "windows.h" LRESULT WndProc(HWND hWnd,UINT nMsg,WPARAM wParam,LPARAM lParam) { return DefWindowProc(hWnd,nMsg,wParam,lParam

【转】Android应用程序窗口(Activity)窗口对象(Window)创建指南

在前文中,我们分析了Android应用程序窗口的运行上下文环境的创建过程.由此可知,每一个Activity组件都有一个关联的ContextImpl对象,同时,它还关联有一个Window对象,用来描述一个具体的应用程序窗口.由此又可知,Activity只不过是一个高度抽象的UI组件,它的具体UI实现其实是由其它的一系列对象来实现的.在本文中,我们就将详细分析Android应用程序窗口对象的创建过程. 从前面Android应用程序窗口(Activity)实现框架简要介绍和学习计划一文可以知道,在PH

DLL程序的创建步骤和测试程序

首先,创建DLL程序 然后,添加一个导出类 例如: //Test.h #pragma once class AFX_EXT_CLASS Test { public: Test(void); ~Test(void); void Show(); }; //Test.cpp void Test::Show() { AfxMessageBox(_T("sdsdsa")); } 最后,连接,编译,生成.dll文件和.lib文件 测试程序: 创建一个Dialog对话框应用程序 首先,把生成的.dl

Windows窗口创建的具体步骤

/*实现窗口创建的六步骤:第一步:创建入口函数WinMain第二步:注册窗口类第三部:实现回调函数的功能第四步:显示窗口第五步:更新窗口第六步:消息循环*/ #include "stdafx.h"//回调函数LRESULT CALLBACK WinProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam ){switch(uMsg){case WM_CREATE:{MessageBox(NULL,"即将创建一个窗口!"

学MFC之前必须会的金典创建窗口程序的过程代码

#include <windows.h> // 窗口过程函数 LRESULT CALLBACK MyWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: PostQuitMessage (0); return 0; case WM_PAINT: PAINTSTRUCT ps; HDC hDC = BeginPaint (hwnd, &ps); Ell

创建简单的窗口程序

#include <windows.h> /*窗口函数的函数原型*/ LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {     char szClassName[] = "MainWClass";     WND

虚拟化部署项目的九大步骤,规范整个安装过程。

虚拟化的部署过程进行展开和描述,另外也加入了额外的一些考虑和需要明确的问题.       涉及虚拟化部署的项目往往包含了数据中心内的大量设备,从服务器.存储和网络到您的安全和管理软件. -建设虚拟环境.在这一步骤中,安装服务器,装载选定的虚拟化管理程序(例如ESXServer或是Hyper-V),安装中央管理平台(微软的SCVMM或VMware的vCenter),最后把虚拟主机添加到管理平台中. -配置虚拟环境.在这一步中,配置服务器的静态IP地址,纠正网络系统的参数,在有必要的情况下对VLAN