Windows基础概念

窗口

每个GUI应用程序都有一个窗口,它由多个部分组成。 包括标题栏,[a1] 菜单栏,客户区[a2] ,状态栏等

对话框是窗口,还是控件?

窗口类

每个窗口都对应一个窗口类。 窗口类定义了菜单项,背景,图标,鼠标指针样式,和窗口消息处理函数。  每个窗口类都对应一个消息处理函数,即每个窗口都有自己的消息处理函数。

应用程序在创建窗口前,需向系统注册窗口类,或是用系统已定义好的窗口类。

消息和消息处理函数

  1. 消息的分类: COMMAND 和  WM_ ,还有一类是通知型的消息,以及控件消息?

控件

控件,实际是一种特殊的窗口,它是一个子窗口。

Windows控件分为user controls (用户控件) 和 common controls(通用控件)

Windows控件被放置在其他动态库中。如:ComCtl32.dll

应用程序可以直接使用这些控件而不需要重新定义。

控件分很多种,常用的包括:

文本框(Edit, RichEdit)

按钮(Button,Check Boxes,Group Boxes,Push Buttons,Radio Buttons)

下拉菜单(comboBox)

列表框(List Box)

分组列表(List View)

分页(Pager)

进度条(Process Bar)

属性页(Property Sheet), 

工作条(ToolBar) ,

树(Tree View

控件有特定的窗口样式,现实设置,和消息处理过程。 使用控件时不需要再做消息处理。

资源

资源是应用程序在运行中可能会使用到的一些数据,如图标,位图,菜单等。

在程序设计时,开发人员可以在资源脚本(.rc)中配置资源,在程序构建时,资源编译器会将资源编译为资源文件(.res)  ,然后由链接器将资源链接到可执行文件中。程序在运行中便可以使用这些资源。

GDI

Device Context(DC)

DC是一个结构,它定义了图形对象图形对象的属性图形模式

图形对象包括画笔画刷,字体位图调色板(Palette)区域(矩形)等/

这些对象都可以使用SelectObject()函数将它们选入DC中。

重载SelectObject()方法,以便接受各种类型对象的指针。

绘图模式(Graphic Mode)

Windows支持5种图形模式,允许应用程序指定: 1. 颜色如何合成。 2. 输出在哪里出现

  1. 输出如何缩放  等

模式被存储在Device Context(DC)中.

5种模式分别是:

  1. Background[a3]
  2. Drawing[a4]
  3. Mapping[a5]
  4. Polygon-fill[a6]
  5. Stretching[a7]

创建对话框

方法:

  1. 通过资源来创建对话框,可以使用 CreateDialog  , CreateDialogParam , DialogBox , DialogBoxParam 等API宏或函数。
  2. 不依赖资源,直接创建对话框,可以使用:

CreateDialogIndirect ,  CreateDialogIndrectParam , DialogBoxIndirect,

DialogBoxIndirectParam 等API宏和函数直接创建对话框。

对话框消息处理函数:

在创建对话框时,需要指明对话框消息处理函数。

如果一个消息能有对话框的消息处理函数处理,那么需返回 TRUE


[a1]包括应用程序图标,窗口标题,最大化,最小化,关闭按钮。

[a2]客户区用于放置窗口的功能空间,现实内容等。

[a3]定义存在的窗口或位图和文本操作的屏幕颜色如何合成

[a4]与Background相对应,Drawing是定义前景色。

[a5]定义输出的图形如何从逻辑空间映射到窗口,屏幕,或打印纸

[a6]定义画刷模式,如何填充复杂区域的内部

[a7]定义位图颜色如何被合成

Windows基础概念

时间: 2024-10-24 07:43:07

Windows基础概念的相关文章

Windows的基础概念和术语

在windows操作系统的发展历程中,Windows7是一个具有特殊意义的版本.它是目前最为复杂的单机操作系统,无论从代码规模.代码复杂度,到系统适应场景的复杂程度,都超过了以前所有的版本.从某种意义上,Windows7代表了软件工程的一个顶峰--人类可以构造出如此复杂且能稳定工作的软件系统! 1.Windows操作系统的版本 表1.1Windows操作系统的历次发布 产品名称 内部版本号 发布日期 Windows NT 3.1 3.1 1993年7月 Windows NT 3.5 3.5 19

控制台基础概念实例

上一篇文章 控制台基础概念 介绍了控制的基本构成,以及一些操作处理.这一部分以实际代码为主,给出控制台使用的几个例子. 以main函数作为入口函数的程序都是控制台程序,最简单的控制台程序就是Hello World的程序.这里不给出了. GUI程序可以使用以下几种方式使用控制台: 在调用CreateProcess时使用CREATE_NEW_CONSOLE标志.(默认情况下,待启动进程为控制台程序时不推荐使用该参数,因为无法确定用户输入是有哪个控制台处理的) 通过 AttachConsole函数附加

控制台基础概念

一.引言 控制台程序(Console Application)相信是很多人接触编程的第一个界面,比如C/C++入门的Hello World程序,黑色的字符界面窗口,windows最经典的控制台程序是cmd(命令行窗口),如下图. MSDN上对控制台描述如下:用于管理基于字符的应用程序(不提供GUI界面)的输入输出. 本文主要参考MSDN上关于Console的资料,并加以整理扩充.原始资料可参考:http://msdn.microsoft.com/en-us/library/windows/des

【嵌入式4412开发板学习教程】Uboot教程之uboot基础概念和框架

[4412开发板教程]Uboot教程之uboot基础概念和框架 正在学习uboot,教程讲解的很详细,先上个笔记,视频上传到网盘后再补上...... 知识点: 1.操作系统分层的概念 Windows:bios→内核模式→用户模式→用户程序 linux:bootloader→内核→文件系统→用户程序 2.bootboader种类介绍 U-boot是最通用的bootboader.(210,4412等等) vivi 针对三星的ARM来定制2440上有用到 3.4412休眠问题 它可以直接跳过uboot

.net基础概念

.net基础概念 1.       .NET Framework 是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件..NET Framework 具有两个主要组件:公共语言运行库(Common Language Runtime)和 .NET Framework 类库(Framework Class Library). 2.       公共语言运行库)(Common Language Runtime) 是 .NET Framework 的基础.可以

并行计算之基础概念(转)

原文地址:http://www.cnblogs.com/kuliuheng/p/4058858.html 并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段.它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算.并行计算系统既可以是专门设计的.含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群.通过并行计算集群完成

WCF分布式开发步步为赢(1):WCF分布式框架基础概念

众所周知,系统间的低耦合一直是大型企业应用系统集成追寻的目标,SOA面向服务架构的出现为我们的如何利用现有企业系统资源进行企业ERP系统设计和实现提供了重要的参考原则.SOA如此炙手可热,各大厂商都推出了自己的中间件产品,比如Oracle Fusion和 SAP NetWeaver,IBM.BEA等企业也推出了自己基于SOA的解决方案.基于J2EE平台的SOA架构设计中的一个重要概念就是EJB企业服务总线,作用是实现各个系统的数据交互.而.NET平台上,WCF就是微软为各个系统的数据交互提供通讯

MongoDB入门系列(一):基础概念和安装

概述 MongoDB是目前非常流行的一种非关系型数据库,作为入门系列的第一篇本篇文章主要介绍Mongdb的基础概念知识包括命名规则.数据类型.功能以及安装等. 环境: OS:Windows Version:3.4 一.安装 1.下载解压 在官网下载对应操作系统版本的安装包,然后解压:我这里使用Windows环境安装测试. 2.在D盘创建Mongodb\data\db目录 3.初始化数据 最好先将bin目录加入到环境变量,否则要到命令目录下执行. mongod --dbpath D:\mongod

虚拟化基础概念

1. 虚拟化基础概念 01. 什么是虚拟化? 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率 虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配.灵活调度.跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求. 02. 为什么要用虚拟化? 提高计算机资源的利用率和程