窗口类参数的意义

Windows程序设计——WNDCLASS结构参数及其用法 WNDCLASS结构参数及其用法 WNDCLASS是一个由系统支持的结构,用来储存某一类窗口的信息,如ClassStyle,消息处理函数,Icon,Cursor,背景Brush等。也就是说,CreateWindow只是将某个WNDCLASS定义的窗体变成实例。 结构WNDCLASS包含一个窗口类的全部信息,也是Windows编程中使用的基本数据结构之一,应用程序通过定义一个窗口类确定窗口的属性 基... 阅读详情

要WinMain登记窗口类,首先要填写一个WNDCLASS结构,其定义如下所示:

   typedef struct _WNDCLASSA

   {

     UINT style ;         //窗口类风格

     WNDPROC lpfnWndProc ;    //指向窗口过程函数的指针

     int cbClsExtra ;       //窗口类附加数据

     int cbWndExtra ;       //窗口附加数据

     HINSTANCE hInstance ;    //拥有窗口类的实例句柄

     HICON hIcon ;        //最小窗口图标

     HCURSOR hCursor ;      //窗口内使用的光标

     HBRUSH hbrBackground ;   //用来着色窗口背景的刷子

     LPCSTR lpszMenuName ;    //指向菜单资源名的指针

     LPCSTR lpszClassName ;   // 指向窗口类名的指针

   }

其中参数的意义如下:

(1)第一个参数:成员style控制窗口的某些重要特性,在WINDOWS.H中定义了一些前缀为CS的常量,在程序中可组合使用这些常量.也可把sytle设为0.本程序中为wc.style = CS_HREDRAW | CS_VREDRAW,它表示当窗口的纵横坐标发生变化时要重画整个窗口。你看:无论你怎样拉动窗口的大小,那行字都会停留在窗口的正中部,而假如把这个参数设为0的话,当改动窗口的大小时,那行字则不一定处于中部了。

(2)第二个参数:lpfnWndProc包括一个指向该窗口类的消息处理函数的指针,此函数称为窗口过程函数。它将接收Windows发送给窗口的消息,并执行相应的任务。其原型为:

long FAR PASCAL WndProc(HWND ,unsigned,WORD,LONG);并且必须在模快定义中回调它。WndProc是一个回调函数(见第五节),如果暂时无法理解这个模糊的概念意味着什么,可先放过,等到讲消息循环时再详谈。

(3)第三,四个参数:cbWndExtra域指定用本窗口类建立的所有窗口结构分配的额外字节数。当有两个以上的窗口属于同一窗口类时,如果想将不同的数据和每个窗口分别相对应。则使用该域很有用。这般来讲,你只要把它们设为0就行了,不必过多考虑。

(4)第五个参数:hInstance域标识应用程序的实例hInstance,当然,实例名是可以改变的。wc.hInstance = hInstance ;这一成员可使Windows连接到正确的程序。

(5)第六个参数:成员hIcon被设置成应用程序所使用图标的句柄,图标是将应用程序最小化时出现在任务栏里的的图标,用以表示程序仍驻留在内存中。Windows提供了一些默认图标,我们也可定义自己的图标,VC里面专有一个制作图标的工具。

(6)第七个参数: hCursor域定义该窗口产生的光标形状。LoadCursor可返回固有光标句柄或者应用程序定义的光标句柄。IDC_ARROW表示箭头光标.

(7)第八个参数:wc.hbrBackground域决定Windows用于着色窗口背景的刷子颜色,函数GetStockObject返回窗口的颜色,本程序中返回的是白色,你也可以把它改变为红色等其他颜色.试试看

(8)第九个参数:lpszMenuName用来指定菜单名,本程序中没有定义菜单,所以为NULL。

(9)第十个参数:lpszClassName指定了本窗口的类名。

API CreateWindowEx各参数详解与WNDCLASSEXW中style的参数含义 CreateWindowEx各参数详解与WNDCLASSEXW中style的参数含义 阅读详情

相关推荐

Notepad++源码分析(三)

上一篇Notepad++源码分析(二)提到过 ::CallWindowProc(_tabBarDefaultProc, hwnd, Message, wParam, lParam);这里的_tebBarDefaultProc的由来是用来保存原始Tabbar控件的消息处理函数.即:

df7009的专栏 1725

Window窗口——窗口属性

1.窗口类型与层级 Android支持的窗口类型很多,不过我们可以将它们统一划分为三大类,即Application Window, System Window和Sub Window。另外各个种类下还细分为若干子类型,且都在WindowManager.java 中定义,如下所示。 1. Application Window 普通应用程序的窗口都属于这一类,如表1-1所示。 表 1-1 Application Window 细分 Type Descript

悟心的专栏 2130

窗口操作(获取窗口的句柄、指针、ID; 获取各种类的句柄、指针、ID; 窗口的修改与重绘)

对窗口操作: 获取窗口的句柄、指针、ID 获取各种类的句柄、指针、ID 窗口的修改与重绘

windows窗口基础2—参数说明

 1.5、句柄  Windows应用程序中存在许多对象,例如选单、窗口、图标、内存对象、位图、刷子、设备对象和程序实例等,在Windows中,对象使用句柄进行标识,这样,通过使用一个句柄,应用程序可以访问一个对象。  在Windows软件开发工具中,句柄被定义为一种新的数据类型。在应用程序中,对句柄的使用一般只有赋值(句柄可以被赋以初始值、被改变为用于标识同类对象中的另一个对象和被用作函数的参

c++自学 2108

取得窗口类对像或指针

窗口(CWnd类)控制 要想通过CWnd类控制窗口,必须先取得CWnd类(或派生类)的对像或指针。主要方法有四: 一,系统已经定义好的类。 二,自己定义对像,并操作它。 三,利用类向导为控件关联变量(前面已讲,不再详细讲解)。 四,利用现有函数,如:GetDlgItem、GetActiveView、Findwindow。 更多内容见:vcshare.net和http://www.hedanwang.cn/bbs/

如何使用superpowers

"这个 bug 帮我修一下" → 我会自动走 systematic-debugging → TDD → verify 流程。- "帮我添加一个登录功能" → 我会自动走 brainstorming → plan → TDD → verify 流程。只要任务有 1% 的可能性适用某个技能,我就会先调用它再行动。→ TDD(测试驱动开发)→ verification(验证)→ code review(代码审查)提出需求 → brainstorming(头脑风暴)→ writing-plans(编写计划)

xiaojingjianqiang的博客 610

c语言窗口发消息,Win32消息机制(窗口实现过程)

Dos的过程驱动与Windows的事件驱动在讲本程序的消息循环之前,我想先谈一下Dos与Windows驱动机制的区别:DOS程序主要使用顺序的,过程驱动的程序设计方法。顺序的,过程驱动的程序有一个明显的开始,明显的过程及一个明显的结束,因此程序能直接控制程序事件或过程的顺序。虽然在顺序的过程驱动的程序中也有很多处理异常的方法,但这样的异常处理也仍然是顺序的,过程驱动的结构。而Windows的驱动方...

weixin_28750421的博客 816

CSI Tools 工具的安装 Intel 5300 + Ubuntu14.04

在 ubuntu14 系统上面安装 CSI Tools,2020最新教程,亲测可用,只要保证和我做法一致绝对可以安装好。

WS的小屋 1万+

窗口类(Window Class)概述

windows窗口编程(通常意义上的win32)有几个比较核心的概念:入口函数WinMain、窗口类Window Class、窗口过程、消息处理机制、通用控件。本文主要介绍窗口类的相关概念,包括: 窗口类的类型; 窗口类的注册及使用; 窗口类的构成。 窗口类是基于进程的,每个应用程序在创建窗口之前必须注册窗口类(或者使用操作系统定义的窗口类),使用完成之后需要销毁(反注册)。 介...

weixin_33940102的博客 3370

一个Android应用层开发如何转型深入Android Framework?

不知何时起,单纯的Android应用层开发越来越少了,主流技术演变也越来越快,从之前的rxjava到如今的协程,从之前MVC到如今的MVVM,还有Flutter、Compose等技术,可以说是日新月异。

m0_64420071的博客 1911

深入解析MOS管电容特性:从基础理论到高频应用

本文深入解析了MOS管的电容特性,从基础物理结构出发,详细拆解了栅氧电容、重叠电容和结电容的成因与影响。文章重点探讨了电容值随工作状态变化的非线性特性,并分析了其在CMOS高频开关电源、射频电路等应用中的关键作用,包括开关损耗、米勒效应、信号完整性挑战以及如何将电容特性转化为可控元件(如MOS变容管)的机遇。最后提供了从选型、仿真到PCB布局的实战设计指南。

weixin_29278805的博客 382

Qt_day6_多窗口编程

#继承结构 #QMessageBox 消息对话框 #QStackedWidget 堆栈窗口 #QMainWindow 主窗口类 #QMenuBar 菜单栏 #QToolBar 工具栏 #QWidget 中心组件 #QStatusBar 状态栏 #parent参数 #自定义窗口类 #窗口传参(对象传参) #事件 、机制 、事件函数

weixin_63791423的博客 768

SFF-8654接口引脚定义全解析:从SAS到U.2的高速硬件连接核心

在高速数据存储与传输领域,接口标准是连接主机与存储设备、确保信号完整性与协议互通性的物理基础。其核心原理在于通过精确定义的物理引脚和电气特性,承载不同的高速串行通信协议,如SAS和PCIe。这类高密度连接器的技术价值在于以紧凑的形态支持多协议兼容与高速率传输,满足了企业级存储、高性能计算对带宽和可靠性的苛刻要求。典型的应用场景包括服务器硬盘背板连接、NVMe U.2固态硬盘直连以及外部存储扩展。本文聚焦于SFF-8654(亦称Mini SAS HD)这一关键接口,深入剖析其引脚定义、信号分区(如高速数据通道

weixin_29188043的博客 710

MFC创建一个窗口五大步

.窗口的创建步骤: 1.设计一个窗口类: WNDCLASS结构体参数: (1) UINT style:窗口类的类型, (2) WNDPROC lpfnWndProc:窗口的过程,接收一个指针,在程序中会将一个回调函数赋给他,有系统自动调用 (3) int cbClsExtra:追加一定字节的额外存储空间,附加内存空间,常设置为0 (4)...

weixin_30726161的博客 578

gem5 prefetcher

最近在gem5上做预取实验,添加自己的预取算法,这里采用hardware stream prefetcher , 修改了几个bug才给实验调试通过,发文记录下实验过程。 gem5上添加自己的预取算法步骤: (1)路径gem5-master/configs/common/Caches.py下,开启预取:class L1Cache(Cache): assoc = 2 tag_late

编程邦 3844

解析AI人工智能领域AI芯片的散热技术

当你用ChatGPT写代码、用AI生成高清图片时,背后的AI芯片可能正在“发高烧”——全球TOP500超算的平均功耗已突破10兆瓦,单颗GPU的峰值功耗超过700W(相当于3台家用空调同时运行)。本文将聚焦AI芯片的散热技术,覆盖从基础原理到前沿方案的全链条解析,帮助读者理解“散热为什么比算力更重要”。

AIGC应用创新大全的博客 936

Windows程序设计04:注册窗口类以及创建窗口

  在上一篇博文《Windows程序设计03:创建窗口类》(http://www.cnblogs.com/menlsh/archive/2013/01/26/2878162.html)中,我们提到创建一个应用程序窗口需要五个步骤,并实现了第一个步骤:创建窗口类。   在本篇博文中,将继续介绍第二步和第三步的实现方法,调用RegisterClass函数注册窗口类和调用CreateWindow函数创...

weixin_34151004的博客 396

OpenClaw进阶实战(二十五):抖音企业号——私信回复与视频评论分析

本文介绍了抖音企业号自动化运营的技术方案,重点解决私信互动效率低和风控严格两大挑战。文章分析了抖音集成的三大技术壁垒(视频复杂性、风控体系、封闭API)并对比了三种技术路径的优缺点。针对不同规模的运营主体,推荐官方API+RPA混合架构或真机RPA+AI辅助的方案。 详细讲解了环境准备步骤,包括抖音Skill安装、Cookie获取和配置文件设置。核心实现部分展示了私信自动回复功能的安全合规实现,包含意图分类、优先级排序、延迟发送等防封禁机制,并提供了完整的Python代码示例。该方案通过模拟人工操作、限制日

PeterPan的博客 159

windows窗口三要素---Win32

在构造窗口应用程序前,先准备好如下变量:HINSTANCE _hInst;HWND _hWnd;TCHAR szClassName[] = TEXT("Test Class");TCHAR szTitleName[] = TEXT("Test Window");ATOM MyRegisterClass(HINSTANCE hInstance);    // 注册窗口类别BOOL InitIns

chengxuetao的专栏 1332

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

绘制简易窗口

#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("MyW

fishc_com的博客 621

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

CreateWindow函数详解

CreateWindow函数详解 在注册完窗口类后就需要进行窗口的创建,用到的函数理所当然就是CreateWindow(), 而这个函数是基于窗口类的,所以还需要指定几个参数来制定特定的窗口。而且像一些不带边框的窗口是怎么创建的也是具有相当的技巧的,就是创建的是不带标题和边框的窗口,然后自己在客户区绘制程序的内容,能够制作个性化的应用程序。 API解释 该函数创建一个重...

lixingyun123的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

从鼠标中获得输入(2)

什么?没有边框的窗口?TicTac 在一个很重要的方面与一二章的范例程序有所不同:它使用了一个CWnd的派生类作为其主窗口,而不是用的一个框架窗口.这并非意味着CFrameWnd不 能完成任务,而只是说光用CWnd完成这个任务已经足矣.CWnd是MFC中所有窗口类的基类,依照你的应该程序的不同,你可以选择从CWnd派生出不同 的窗口类或者是直接使用CWnd作为主窗口.尽管如此,作为一个

狐狸娃娃的专栏 884

OpenCV HOGDescriptor 参数图解

最近要做图像特征提取,可能要用下HOG特征,所以研究了下OpenCV的HOG描述子。OpenCV中的HOG特征提取功能使用了HOGDescriptor这个类来进行封装,其中也有现成的行人检测的接口。然而,无论是OpenCV官方说明文档还是各个中英文网站目前都没有这个类的使用说明,所以在这里把研究的部分心得分享一下。       首先我们进入HOGDescriptor所在的头文件,看看它的构造函数

浮城大亨的专栏 5902

MFC界面编程基础(01):Windows 编程模型

MFC:微软基础类库(英语:Microsoft Foundation Classes,简称MFC) 如果你是在windows平台上做GUI开发,MFC是一个很好的选择,毕竟windows累积用户群庞大,市场接受程度高。但是,学习MFC不仅仅要学习用MFC,还要学习MFC的框架设计思想。 如果仅仅会用MFC的话,可能在找工作的时候,一旦工作内容离开了MFC,就什么也不会了。学习任何东西都是一样的,学...

半个月儿上来的博客 5298

programming windows-----窗口与消息

1.消息处理函数       作用:所谓的消息处理程序指的是对于windows程序是事件驱动的,由此需要消息处理程序来维护windows程序。当使用者更改windows窗口时,windows将此改变的消息发送到windows建立的消息队列中(或直接发送到相应的窗口消息处理程序中),然后等程序将消息发送到相应的窗口消息处理程序,消息处理程序将处理发送到相应的窗口,对其进行改变。     函数:参

逗仔的专栏 459
上一篇: 错误unknown character '0xa1'
下一篇: 注册窗口类
runner0592
博客等级 码龄21年 4粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值