.窗口的创建步骤:

1.设计一个窗口类:

WNDCLASS结构体参数:

(1)       UINT style:窗口类的类型,

(2)       WNDPROC lpfnWndProc:窗口的过程,接收一个指针,在程序中会将一个回调函数赋给他,有系统自动调用

(3)       int cbClsExtra:追加一定字节的额外存储空间,附加内存空间,常设置为0

(4)       int cbWndExtra:窗口的附加内存,常置为0

(5)       HINSTANCE hInstance:窗口的实例号

(6)       HICON hIcon:常用LoadIcon来为其赋值,LoadIcon为一个结构体,第一个参数是HINSTANCE hInstance ,当需要加载一个系统自带的标准图标的时候,改参数应该设置为NULL;第二个参数LPCTSTR  lpIconName就取系统定义的宏 (也可以用CreateIcon来自己创建一个Icon)

(7)       HCURSOR hCursor:用LoadCursor(NULL , xxx)来赋值,同上

(8)       HBRUSH hbrBackground :一个画刷的句柄,指的是窗口的颜色;用函数GetStockObject来为其赋值;hbrBackground = (HBRUSH)GetStockObject(DKGRAY_BRUSH)(括号中表示的是画刷的类型)

(9).LPCTSTR  lpszMenuName :设置菜单名字,没有菜单就置为空

(10).LPCTSTR  lpszClassName :给窗口取一个名字

2.注册窗口类 :

RegisterClass(窗口类结构体的指针):如RegisterClass(&wndclass)

3.创建窗口:

(1)创建一个句柄,指向窗口;

HWND hwnd;

hwnd = CreateWindow()(其中的参数见下)

第一个必须为已经注册过后的窗口名;

  1. 显示及跟新窗口

ShowWindow(HWND hWnd,int mCmdStyle)  (在哪里显示窗口,以怎样的形态显示,最大化还是最小化)

UpdateWindow( hwnd )

MFC创建一个窗口五大步的更多相关文章

  1. pywin32 创建一个窗口

    import win32con,win32gui class MyWindow(): def __init__(self): #注册一个窗口类 wc = win32gui.WNDCLASS() wc. ...

  2. Linux OpenGL 实践篇-2 创建一个窗口

    OpenGL 作为一个图形接口,并没有包含窗口的相关内容,但OpenGL使用必须依赖窗口,即必须在窗口中绘制.这就要求我们必须了解一种窗口系统,但不同的操作系统提供的创建窗口的API都不相同,如果我们 ...

  3. 【pygame游戏编程】第一篇-----创建一个窗口

    下面我们一起来创建一个背景为蓝色的窗口作为游戏编程的开始: import sys import pygame def creat_screen(): #初始化pygame pygame.init() ...

  4. 学习:简单使用MFC创建对话框窗口

    MFC介绍:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows ...

  5. OpenGL编程逐步深入(一)创建一个窗口

    原文地址:http://ogldev.atspace.co.uk/ 原文中使用gnu make进行项目管理,本系列文章使用visual studio2012.在翻译过程中并非直译,加入了一些笔者个人观 ...

  6. [转]使用VC/MFC创建一个线程池

    许多应用程序创建的线程花费了大量时间在睡眠状态来等待事件的发生.还有一些线程进入睡眠状态后定期被唤醒以轮询工作方式来改变或者更新状态信息.线程池可以让你更有效地使用线程,它为你的应用程序提供一个由系统 ...

  7. mfc 创建一个C++ 类

     类创建向导  添加一个C++类  #pragma once的作用  认识类视图 一.类创建向导 二.添加一个C++类 认识类创建向导: 创新一个处理文字信息的类CMessage CMessa ...

  8. C语言创建一个窗口提示

    打开Vs2012[我的是2012] /* X下面这些东西并没有什么用... 就不改了用2013 2015都一样 当然 devC++ 还有最原始的那个vc6.0也都是可以的. 编译环境遇到了相关问题网上 ...

  9. Java 创建一个窗口,使其启动时位于屏幕中间

    import java.awt.Toolkit; import javax.swing.JFrame; public class WindowInTheMiddle extends JFrame { ...

  10. (7)nehe教程1 创建一个OpenGL窗口:

    不要用那个nehe ndk了 误人子弟! 转自: 一个窗口,代码可真多啊 http://www.yakergong.net/nehe/ 在这个教程里,我将教你在Windows环境中创建OpenGL程序 ...

随机推荐

  1. SciTech-BigDataAIML-Algorithm: Github的Hello 算法项目

    先记录一下,好不好再读: https://github.com/krahets/hello-algo 关于本书 本项目旨在打造一本开源免费.新手友好的数据结构与算法入门教程. 全书采用动画图解,内容清 ...

  2. PGSQL数据膨胀问题排查

    背景 不知道从何时开始,数据库空载时的性能消耗越来越高,当业务高峰期,CPU 和内存都处于高负载的情况下,观看 AWS 的监控,发现负载空载时占用很高. 并且占用较高的 Top5 分为为: autov ...

  3. Word文档的标题总是自动出现首行缩进怎么办?

      本文介绍在Word中,标题样式跟随正文样式呈现首行缩进状态的解决办法.   临近毕业季,马上就要开始写毕业论文了:我开始写得比较早,目前已经完成了绝大部分--写到1.1引言部分了.写的过程中发现了 ...

  4. uniapp实现IM即时通讯仿微信聊天功能

    本文介绍如何基于 UNIAPP 使用 即时通讯SDK ZIM SDK 快速实现基本的消息收发功能. 1 uniapp im 即时通讯功能 方案介绍 即时通讯SDK ZIM SDK 提供了如下接入方案: ...

  5. MySQL 25 MySQL是怎么保证高可用的?

    正常情况下,只要主库执行更新生成的所有binlog,都可以被传到备库并被正确地执行,备库就能达到跟主库一致的状态,这就是最终一致性,而MySQL要提供的高可用能力,只有最终一致性是不够的. 主备延迟 ...

  6. HtML中head、body、块级与行内、列表、表格、表单标签等

    目录 1.HTML简介 2.HTML文件的创建 3.HTML文档说明 4.head内常见标签 5.body内基本的标签 6.块级标签与行内标签 7.body内基本符号 8.body内布局标签 9.bo ...

  7. 终于有人讲明白了!解读Agent 4大协议:MCP/ACP/A2A/ANP

    大家好,我是汤师爷,专注AI智能体分享,致力于帮助100W人用智能体创富~ 最近这几年,AI智能体(Agent)越来越火了. 不少人可能还停留在AI就是个聊天机器人的认知,其实现在的AI智能体,已经能 ...

  8. Java面向对象基础——10.内部类

    目录 Java内部类总结 1. 内部类(Inner Class) 2. 匿名类(Anonymous Class) 3. 静态内部类(Static Nested Class) 共性与差异 Java内部类 ...

  9. [题解]Refact.ai Match 1 (Codeforces Round 985) A~C

    A - Set 显然答案是\(\max(\lfloor\frac{r}{k}\rfloor-l+1,0)\). 点击查看代码 #include<bits/stdc++.h> #define ...

  10. python/c++ 混合编程

    官方简介 pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, ...