MFC创建一个窗口五大步

.窗口的创建步骤:

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 )

时间: 2024-10-21 18:19:16

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

pywin32创建一个窗口

import win32con,win32gui class MyWindow(): def __init__(self): #注册一个窗口类 wc = win32gui.WNDCLASS() wc.lpszClassName = 'MyWindow' wc.hbrBackground = win32con.COLOR_BTNFACE+1 #这里颜色用法有点特殊,必须+1才能得到正确的颜色 wc.lpfnWndProc = self.wndProc #可以用一个函数,也可以用一个字典 class

创建一个窗口

用函数CreateWindow()或CreateWindowEx()来创建窗口(或任何其他类似于窗口的对象,如控件).创建窗口时必须提供窗口类的文本名称,这个窗口类名称为之前想系统申请的类名称,用于表示窗口类.下面是CreateWindowEx()的函数原型: CreateWindowEx( DWORD dwExStyle,//窗口的扩展风格,是一种高级功能,一般都为NULL LPCTSTR lpClassName,//指向注册类名的字符串指针 LPCTSTR lpWindowName,//指向

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

OpenGL 作为一个图形接口,并没有包含窗口的相关内容,但OpenGL使用必须依赖窗口,即必须在窗口中绘制.这就要求我们必须了解一种窗口系统,但不同的操作系统提供的创建窗口的API都不相同,如果我们在学习OpenGL时要去学习一整套的窗口系统,这将带来很多的不便,所以出现了GLUT.GLUT全称OpenGL Utility Toolkit,是一套和窗口系统无关的软件包,为我们提供了窗口创建,用户输入输出处理等功能.优点是:简小,精悍.注意GLUT并不是一个功能特别全面的窗口系统工具包,所以构建

C语言创建一个窗口提示

打开Vs2012[我的是2012] /* X下面这些东西并没有什么用... 就不改了用2013 2015都一样 当然 devC++ 还有最原始的那个vc6.0也都是可以的. 编译环境遇到了相关问题网上搜索一下就可以解决的.最重要的是相信自己是可以解决的. 我就遇到了PDB加载不了的状况. 解决方案:http://jingyan.baidu.com/article/90bc8fc87fbafff653640ca6.html [开始用的 DEVC++] */ 二.新建项目 三. 下一步点选空项目:

利用JavaScript如何创建一个table表格[第2种方法]

创建一个五行五列的表格(使用循环) <style> td{border:1px solid #ccc;} </style> <script> window.onload=function(){ var oTable=document.createElement("table"); var row; var cell; for(var i=0;i<5;i++){ row=document.createElement("tr")

jQuery EasyUI 窗口 – 创建简单窗口

jQuery EasyUI 窗口 – 创建简单窗口 创建一个窗口(window)非常简单,我们创建一个 DIV 标记: <div id="win" class="easyui-window" title="My Window" style="width:300px;height:100px;padding:5px;"> Some Content. </div> 现在运行测试页面,您会看见一个窗口(win

IE 中创建 子窗口 传值 与接收值 【window.showModalDialog】

父窗口 创建一个窗口 var backinfo = window.showModalDialog('UserSelect.aspx', '', 'dialogHeight=600px; dialogWidth= 600px; edge=Raised; center=Yes;resizable= No; status= no;help=no'); 子窗口 调用JS关闭自身并返回值 function SelectCompany(obj) {                            wi

jsWindow 对象 Window 对象 Window 对象表示浏览器中打开的窗口。 如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。 注释:没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。 Window 对象集合 集合 描述 frames[] 返回窗口中所有命

一.JSX简介 JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解析. 如下(JS写法) var child1 = React.createElement('li', null, 'First Text Content'); var child2 = React.createElement('li', null, 'Second Text Content'); var

Sessions, Window Stations and Desktops(GetDesktopWindow()得到的桌面句柄, 是Csrss.exe创建的一个窗口)

由于不是搞安全的,对这块的东西一直不是很清楚,今天特意整理下. 总的来说,他们的关系如下: 我们知道Windows是支持多用户的,Session可以理解为每个用户登录,比如当前登录和远程登陆.Window Stations可以理解为登陆后的不同用户组,我们在任务管理器中可以看到不同的用户名(比如 Richard, system, local service等),其中只有一个活动Station WinSta0, 只有这个Station是接受用户鼠标键盘输入的.而WinSta0 Station 又包