Windows在设备环境中存储着一些“属性”,这些属性控制GDI函数在显示器上的操作方式。例如,使用TextOut函数显示一些文本时,不必指定文本的颜色或者文本的字体。Windows使用设备环境来获取这些信息。
当一个程序获取一个设备环境句柄时,Windows设置所有的属性为默认值。下表显示了Windows98支持的很多设备环境属性、其默认值和改变或获取其值得函数。
设备环境属性 | 默认值 | 修改其值的函数 | 获取其值的函数 | 说明 |
Mapping Mode | MM_TEXT | SetMapMode | GetMapMode | 映射模式定义了用于将页面空间单元转换为设备空间单元的度量单位,还定义了设备的x轴和y轴的方向。 |
Window Origin | (0,0) | SetWindowOrgEx | GetWindowOrgEx | SetWindowOrgEx指定哪个逻辑点映射到设备点(0,0)。 它具有移动轴的作用,使得逻辑点(0,0)不再指向左上角。 |
Viewport Origin | (0,0) | SetViewportOrgEx OffsetViewportOrgEx | GetViewportOrgEx | SetViewportOrgEx指定哪个设备点映射到逻辑点(0,0)。 它具有移动轴的作用,使得逻辑点(0,0)不再指向左上角。 |
Window Extents | (1,1) | SetWindowExtEx SetMapMode ScaleWindowExtEx | GetWindowExtEx | SetWindowExtEx函数通过使用指定的值设置设备上下文的窗口的水平和垂直范围。 |
Viewport Extents | (1,1) | SetViewportExtEx SetMapMode ScaleViewportExtEx | GetViewportExtEx | 当在页面空间和设备空间之间进行映射时,SetWindowExtEx和SetViewportExtEx确定窗口和视口之间的缩放因子。 |
Pen | BLACK_PEN | SelectObject | SelectObject | 画笔 |
Brush | WHITE_BRUSH | SelectObject | SelectObject | 画刷 |
Font | SYSTEM_FONT | SelectObject | SelectObject | 字体 |
Bitmap | None | SelectObject | SelectObject | 位图 |
Current Position | (0,0) | MoveToEx LineTo PolylineTo PolyBezierTo | GetCurrentPositionEx | 当前位置--坐标点 |
Background Mode | OPAQUE | SetBkMode | GetBkMode | 背景模式 |
Background Color | White | SetBkColor | GetBkColor | 背景颜色 |
Text Color | Black | SetTextColor | GetTextColor | 文本颜色 |
Drawing Mode | R2_COPYPEN | SetROP2 | GetROP2 | 绘图模式 |
Stretching Mode | BLACKONWHITE | SetStretchBltMode | GetStretchBltMode | 位图拉伸模式 |
Polygon Fill Mode | ALTERNATE | SetPolyFillMode | GetPolyFillMode | 多边形填充模式 |
Intercharacter Spacing | 0 | SetTextCharacterExtra | GetTextCharacterExtra | 字符间距 |
Brush Origin | (0,0) | SetBrushOrgEx | GetBrushOrgEx | 画刷起点 |
Clipping Region | None | SelectObject SelectClipRgn IntersectClipRgn OffsetClipRgn ExcludeClipRect SelectClipPath | GetClipBox | 裁剪区域 |