📄 mfc中文教程(一).htm
字号:
<P><BR>设备描述表 </P>
<P><BR>设备描述表概述 </P>
<P>当一个应用程序使用GDI函数时,必须先装入特定的设备驱动程序,然后为绘制窗口准备设备描述表,比如指定线的宽度和颜色、刷子的样式和颜色、字体、剪裁区域等等。不像其他Win32结构,设备描述表不能被直接访问,只能通过系列Win32函数来间接地操作。</P>
<P>如同Windows“窗口类”一样,设备描述表也是一种Windows数据结构,用来描述绘制窗口所需要的信息。它定义了一个坐标映射模式、一组GDI图形对象及其属性。这些GDI对象包括用于画线的笔,绘图、填图的刷子,位图,调色板,剪裁区域,及路径(Path)。</P>
<P>表2-2列出了设备描述表的结构和各项缺省值,表2-3列出了设备描述表的类型,表2-4显示设备描述表的类型。</P>
<P>表2-2 设备描述表的结构</P>
<P>
<TABLE cellSpacing=1 cellPadding=7 width=497 border=1>
<TBODY>
<TR>
<TD vAlign=top width="27%">
<P align=justify>属性 </P></TD>
<TD vAlign=top width="73%">
<P align=justify>缺省值 </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Background color </P></TD>
<TD vAlign=top width="73%">
<P align=justify>Background color setting from Windows Control Panel
(typically, white) </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Background mode </P></TD>
<TD vAlign=top width="73%">
<P align=justify>OPAQUE </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Bitmap </P></TD>
<TD vAlign=top width="73%">
<P align=justify>None </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Brush </P></TD>
<TD vAlign=top width="73%">
<P align=justify>WHITE_BRUSH </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Brush origin </P></TD>
<TD vAlign=top width="73%">
<P align=justify>(0,0) </P></TD></TR>
<TR>
<TD vAlign=top width="27%" rowSpan=3>
<P align=justify>Clipping region </P></TD>
<TD vAlign=top width="73%" rowSpan=3>
<P align=justify>Entire window or client area with the update region
clipped, as appropriate. Child and pop-up windows in the client area
may also be clipped </P></TD></TR>
<TR></TR>
<TR></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Palette </P></TD>
<TD vAlign=top width="73%">
<P align=justify>DEFAULT_PALETTE </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Current pen position </P></TD>
<TD vAlign=top width="73%">
<P align=justify>(0,0) </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Device origin </P></TD>
<TD vAlign=top width="73%">
<P align=justify>Upper left corner of the window or the client area
</P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Drawing mode </P></TD>
<TD vAlign=top width="73%">
<P align=justify>R2_COPYPEN </P></TD></TR>
<TR>
<TD vAlign=top width="27%" rowSpan=2>
<P align=justify>Font </P></TD>
<TD vAlign=top width="73%" rowSpan=2>
<P align=justify>SYSTEM_FONT (SYSTEM_FIXED_FONT for applications
written to run with Windows versions 3.0 and earlier) </P></TD></TR>
<TR></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Intercharacter spacing </P></TD>
<TD vAlign=top width="73%">
<P align=justify>0 </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Mapping mode </P></TD>
<TD vAlign=top width="73%">
<P align=justify>MM_TEXT </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Pen </P></TD>
<TD vAlign=top width="73%">
<P align=justify>BLACK_PEN </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Polygon-fill mode </P></TD>
<TD vAlign=top width="73%">
<P align=justify>ALTERNATE </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Stretch mode </P></TD>
<TD vAlign=top width="73%">
<P align=justify>BLACKONWHITE </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Text color </P></TD>
<TD vAlign=top width="73%">
<P align=justify>Text color setting from Control Panel (typically,
black) </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Viewport extent </P></TD>
<TD vAlign=top width="73%">
<P align=justify>(1,1) </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Viewport origin </P></TD>
<TD vAlign=top width="73%">
<P align=justify>(0,0) </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Window extent </P></TD>
<TD vAlign=top width="73%">
<P align=justify>(1,1) </P></TD></TR>
<TR>
<TD vAlign=top width="27%">
<P align=justify>Window origin </P></TD>
<TD vAlign=top width="73%">
<P align=justify>(0,0) </P></TD></TR></TBODY></TABLE> </P>
<P>表2-3 设备描述表的分类</P>
<P>表2-3中的显示设备描述表又分三种类型,如表2-4所示。</P>
<P>
<TABLE cellSpacing=1 cellPadding=7 width=497 border=1>
<TBODY>
<TR>
<TD vAlign=top width="17%">
<P align=justify>Display </P></TD>
<TD vAlign=top width="83%">
<P align=justify>显示设备描述表,提供对视频显示设备上的绘制操作的支持 </P></TD></TR>
<TR>
<TD vAlign=top width="17%">
<P align=justify>Printer </P></TD>
<TD vAlign=top width="83%">
<P align=justify>打印设备描述表,提供对打印机、绘图仪设备上的绘制操作的支持 </P></TD></TR>
<TR>
<TD vAlign=top width="17%">
<P align=justify>Memory </P></TD>
<TD vAlign=top width="83%">
<P align=justify>内存设备描述表,提供对位图操作的支持 </P></TD></TR>
<TR>
<TD vAlign=top width="17%">
<P align=justify>Information </P></TD>
<TD vAlign=top width="83%">
<P align=justify>信息设备描述表,提供对操作设备信息获取的支持 </P></TD></TR></TBODY></TABLE></P>
<P>表2-4 显示设备描述表的分类 </P>
<P>
<TABLE cellSpacing=1 cellPadding=7 width=499 border=1>
<TBODY>
<TR>
<TD vAlign=top width="19%">
<P align=justify>名称 </P></TD>
<TD vAlign=top width="27%">
<P align=justify>特点 </P></TD>
<TD vAlign=top width="55%">
<P align=justify>功能 </P></TD></TR>
<TR>
<TD vAlign=top width="19%">
<P align=justify>Class Device</P>
<P align=justify>Contexts </P></TD>
<TD vAlign=top width="27%">
<P align=justify>提供对Win16的向后兼容 </P></TD>
<TD vAlign=top width="55%"> </TD></TR>
<TR>
<TD vAlign=top width="19%">
<P align=justify>Common</P>
<P align=justify>Device</P>
<P align=justify>Contexts </P></TD>
<TD vAlign=top width="27%">
<P align=justify>在Windows系统的高速缓冲区,数量有限 </P></TD>
<TD vAlign=top width="55%">
<P
align=justify>Applicaion获取设备描述表时,W
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -