admin 管理员组文章数量: 1184232
2024年3月27日发(作者:javascript如何创建函数)
简单的文本显示
在屏幕上显示文本最简单的、最快捷的方法莫过于使用设备环境中的成员函数
TextOut()。该函数要求传递参数x坐标和y坐标来确定起始的文本输出位置,另外还需要一
个CString型的参数来保存待显示的文本。
与TextOut()类似的实现文本显示的功能函数还有好几个。TabbedTextOut()函数能够实现
制表字符。PollyTextOut()函数可以通过一次函数调用来显示一个字符串数组。ExtTextOut()
函数允许你指定一些附加的参数来决定文本以何种样式显示。
设置文本对齐方式
通过函数SetTextAlign(),你可以将文本设定围绕某一个指定点以不同的对齐方式对齐。
该设备环境的成员函数使用一系列的标志来确定文本的对齐方式,以及显示文本之后光标如
何更新。
在函数SetTextAlign()中使用的文本对齐标志
对齐标志
TA_LEFT
TA_RIGHT
TA_CENTER
TA_TOP
TA_BOTTOM
TA_BASELINE
TA_UPDATECP
TA_NOUPDATECP
文本显示效果
文本对齐在指定点的右面
文本对齐在指定点的左面
文本以指定点为中点居中显示
文本对齐在指定点的下面
文本对齐在指定点的上面
文本围绕过指定点的基准线对齐
调用TextOut函数后重画光标
调用TextOut函数后不重画光标
矩形中文本的剪裁
函数ExtTextOut()是TextOut()跟复杂、也更高级的形式。可以通过传递一个
“ETO_CLIPPED”的标志让他来实现文本的剪裁。和TextOut()函数一样,ExtTextOut()需要
x坐标和y坐标作为头两个参数。你可以传递两个标志值,作为的三个参数,如ETO_CLIPPED
表示剪裁。你还可以将ETO_CLIPPED标志和ETO_OPAQUE标志组合起来,这时即使已经
设置为透明模式,你也可以使用不透明的文本。如果你想既不想剪裁,也不需要显示不透明
文本,你可以用0作为第三个参数。第四个参数需要一个CRect类型的对象,如果在第三个
参数中你设置了剪裁标志,函数将用这个矩形来剪裁文本。第五个参数是待显示的文本(保
存在一个CString类型的对象中)。最后,你可以传一个空的字符数组作为第六个参数,这
个参数也可以是一个空指针(NULL)。
用CreateFont()函数创建字体
CreateFont()函数的参数
BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE
bltalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecison, BYTE
nClipPrecison, BYTE nQuality, BYTE nPitchAndFamity, LPCSTR lpszFacename );
设置字体的高度和宽度
CreateFont()函数的前两个参数决定了字体的高度和宽度。
设置文本的倾斜和方向
倾斜和方向分别指文本在打印时的倾斜角度(通常是沿水平方向)和字符本身的旋转角度。
﹒nEscapement参数允许你指定文本在显示时的一个倾斜角度,这个角度是以X轴为参考,
参数值必须为实际倾斜角度的10倍。例如你指定参数为900时,实际的文本是垂直显示。
﹒nOritentation参数允许你指定字符显示时的一个倾斜角度,这个角度也是一X轴为参考的,
参数值为实际旋转角度的10倍。
设置加粗、斜体、下划线和加删除线
接下来的四个参数用来设置字符的粗度(粗字体和瘦字体)和诸如斜体、下划线和加删除线
之类的模式。
﹒通过nWeight参数,可以改变字符显示时的粗细程度,这个值可以从0(瘦体)到1000
(胖体)。
字体粗度标志
标志
FW_DONTCARE
FW_THIN
FW_EXTRALIGHT
FW_LIGHT
FW_NORMAL
FW_MEDIUM
FW_SEMIBOLD
FW_BOLD
FW_EXTRABOLD
FW_HEAVY
参数值
0
100
200
300
400
500
600
700
800
900
﹒当参数bItalic被设置为TRUE时,文本将以
斜体字
显示。
﹒当参数bUnderline被设置为TRUE时,文本将以下划线的方式显示。
﹒当参数bStrikeOut被设置为TRUE时,文本将以加删除线的方式显示。
设置显示的质量和精度
﹒参数nCharSet用来指定使用哪一字符集。这个参数通常被设置ANSI_CHARSET,此时表
示使用的是标准的ANSI字符集。有时候为了使用更多的 符号,需要将此参数指定为
SYMBOL_CHARSET而不是普通的字符集。
﹒参数nOutPrecision用来确定映象机制如何根据提供的参数来选择合适的字体。这个参数
通常被设置为OUT_DEFAULT_PRECIS,如果要使用TrueType(微软和Apple公司共同研
制的一种字形标准)字体时,则需要将此参数设置成OUT_TT_PRECIS。
﹒参数nClipPrecision用来确定裁剪的精度,这个参数通常被设置为
CLIP_DEFAULT_PRECIS。
﹒参数nQuality用来确定在何种程度上使得字符最终的显示效果跟所指定的其他参数相吻
合。这一参数可取的值有DEFAULT_QUALITY、DRAFT_QUALITY和PROOF_QUALITY。
﹒参数nPitchAndFanily可以一次同时设置两个方面的内容。
间距设置
间距标志
DEFAULT_PITCH
VARIABLE_PITCH
FIXED_PITCH
说明
字体的缺省设置
可变的字体间距
固定的字符间距,用于终端仿真程序
下表是参数nPitchAndFamily的可取值。
字体属性设置
属性标识
FF_DECORATIVE
FF_DONTCARE
FF_MODERN
FF_ROMAN
FF_SCRIPT
FF_SWISS
TMPF_TRUETYPE
说明
花哨的字体
DONTCARE——不关心
固定间距的字体
合适空白和可变间距的字体
手写体
合适的空白但没有附加线
必须先设置为TrueType字体
选择字体名
通过参数lpszFacename,可以为当前装入并正在使用的字体指定一个名字。
版权声明:本文标题:MFC中简单的文本显示 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1711516310a597895.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论