首页 > 代码库 > Windows基础概念

Windows基础概念

窗口

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

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

窗口类

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

 

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

 

消息和消息处理函数

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

 

控件

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

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]定义位图颜色如何被合成