一、字型類型:
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 );