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