一、字体类型:
1,GDI字体。储存在硬盘文件里。
1.1 点阵字体。又称位图字体。以位图象素图案的形式存储。不可随意缩放,优点是显示快,可读性好。每个点阵字体不超过6种大小。
例:System,FixedSys,Terminal,Courier,MS Serif,MS Sans Serif,Small Fonts
1.2 笔画字体。优点是随意缩放,缺点显示慢,小字体可读性差。适合绘图仪。
例:Modern,Roman,Script
1.3 TrueType字体,可以无极缩放,可以用于视频显示和打印机。
例:Courier New ...,Times New Roman ...,Arial ...,Symol
2,设备字体。输出设备所固有的。
二、字符输出函数。
SetTextAlign( nFlags)////注意: TA_UPDATECP指示TextOut中设置的x,y都无效,而是取前一次更改后的坐标。
TextOut
TabbedTextOut
ExtTextOut
DrawText
DrawTextEx
设备描述表:
SetTextColor
SetBkMode
SetBkColor
获取用户设置的系统颜色GetSysColor(COLOR_WINDOW...)
CDC::SetTextCharacterExtra//字符间距
SelectObject(hdc,GetStockObject(SYSTEM_FONT))
一些函数:
CreateFont或CreateFontIndirect //创建字体
GetTextFace //获取字体名
BOOL GetTextMetrics( HDC hdc, LPTEXTMETRIC lptm ); //获取当前字体信息
BOOL GetTextExtentPoint32( HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize );//获取字符串尺寸。
SetTextJustification (hdc,prc->right - prc->left - size.cx,cSpaceChars) ;//两段对其的时候用,接下来的cSpaceChars个空格要多平分(prc->right - prc->left - size.cx)的空间,一行结束后,要用SetTextJustification (hdc, 0, 0) ;消除上行产生的差错。
三、LOGFONT结构体,成员说明:http://baike.baidu.com/view/2421591.html?fromTaglist
通过LOGFONT可以设置很多字体信息。包括字体旋转。比如 lf.lfOrientation = 300 ; 转30度。
GetObject (hFont, sizeof (LOGFONT), &lf) ;//获取LOGFONT
hFont = CreateFontIndirect (&lf) ;//设置LOGFONT
四、枚举字体 EnumFonts EnumFontFamiliesEx
五、选择字体 BOOL ChooseFont( LPCHOOSEFONT lpcf );