ShowWindow、EnableWindow 和MoveWindow 这样的CWnd 成员函数来控制控件。
? 控件的创建有自动和手工两种常用方法。 控件的自动创建是通过向对话框模板中添加
控件实现的。手工创建则需要构建一个控件对象并调用相应的Create 函数。
? 访问控件的方法包括:通过对话框的数据jiāo换功能来查询和设置控件;通过控件对象
来访问控件;利用CWnd 类的一些用于管理控件的成员函数来访问控件。
虽然本章对各种控件的功能和使用方法有一个较为全面的介绍,但是读者在具体使用某
个控件时可能还会有更多自己的功能需求,这时可以通过Visual C++的联机帮助获得更多的
与该控件相关的帮助信息。
枫叶文学网www.fywxw.com
第6 章 文本和字体类
Windows 经常使用GDI 进行文本和图形输出。实际上,文本和图形并没有明显的界限,
在很多时候,Windows 把文本当作一种特殊的图形来对待,即,文本被看作是按照指定的“字
体”格式画出来的。字体用于描述字符集中每一个字母、数字和标点符号的形状及外表的特
殊信息。
本章将对字体类Cfont 及文本的输出过程进行介绍。
6.1 基础知识介绍
当任何窗口被第一次建立时,它假定是使用默认的系统字体。事实上,除非另外指定,
默认字体也就是系统字体。使用字体的方法很简单,主要是通过WM_GETFONT 消息或者函
数CreateFont()取得字体。消息WM_GETFONT 经常被发送到窗口以确定字体的类型,该字
体可能在它的窗口中作为默认值。此消息返回字体句柄或者空(如果正使用系统字体)。系统
字体的实际句柄可由调用GetStockObject(SYSTEM_FONT)得到。
在绘制文本时,不仅需要考虑描绘文本在窗口中使用的颜色,还应考虑文本的背景颜色
和文本描绘“模式”,表6-1 所示为控制颜色和描绘文本模式所需的函数。
表6-1 控制颜色和模式的函数
函数 描述
GetBkColor() 传递显示描述表时,返回COLORREF 值指示描绘文本时使用的背景色
SetBkColor() 传递显示描述表和COLORREF 值,设置绘制文本的背景颜色
GetTextColor() 传递显示描述表时,返回COLORREF 值,指示绘制文本的颜色
SetTextColor() 传递显示描述表和COLORREF 时,为绘制的文本设置颜色
GetBkMode() 传递显示描述表时,返回绘画方式,可以是OPAQUE 或者TRANSPARENT
SetBkMode() 传递显示措述表和OPAQUE 或TRANSPARENT 参数时设置背景文本绘制方式
6.2 CFont 类
6.2.1 概述
CFont 类封装了一个Windows 图形设备接口(GDI)字体并提供管理字体的成员函数。
为使用Cfont 类,可构造一个CFont 对象并用CreatFont()、CreateFontIndirect()、CreatePoint