求解,windows高级编程,win32项目,文本输出那块儿,在使用创建的自定义字体后怎么再使用默认字体?
GetStockObject(17)可以直接获取默认字体的句柄。
要设置设备上下文DC(GDI文字输出)的字体: SelectObject(DC句柄,GetStockObject(17));
要设置一个控件的字体:
SendMessage(要设置字体的窗口或控件句柄, WM_SETFONT, (WPARAM)GetStockObject(17), 0);
另外不用时记得把之前的字体销毁掉,否则会内存泄露
你使用新的字体时,要保存原字体。在不用新字体时,要恢复原字体。
OldFont=pDC->SeleteObject(NewFont);
...
SeleteObject(OldFont);
pOldFont=pDC->SelectObject(&NewFont);
pDC->TextOut(int(x), int(y), str);
pDC->SelectObject(pOldFont);
HGDIOBJ hFont = GetStockObject(SYSTEM_FONT);
CFont font;
font.Attach(hFont);
SetFont(&font);
[解决办法]
GetTextMetrics
EnumFontFamiliesEx
看看.这两个应该可以.