问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VC怎么能获取系统字体

发布网友 发布时间:2022-04-26 18:03

我来回答

3个回答

热心网友 时间:2023-10-19 23:15

通过GetStockObject函数可以取得系统字体。
The GetStockObject function retrieves a handle to one of the stock pens, brushes, fonts, or palettes.

HGDIOBJ GetStockObject(
int fnObject // stock object type
);
其中fnObject可以是以下字体:

ANSI_FIXED_FONT Windows fixed-pitch (monospace) system font.
ANSI_VAR_FONT Windows variable-pitch (proportional space) system font.
DEVICE_DEFAULT_FONT Windows NT/2000/XP: Device-dependent font.
DEFAULT_GUI_FONT Default font for user interface objects such as menus and dialog boxes. This is MS Sans Serif. Compare this with SYSTEM_FONT.
OEM_FIXED_FONT Original equipment manufacturer (OEM) dependent fixed-pitch (monospace) font.
SYSTEM_FONT System font. By default, the system uses the system font to draw menus, dialog box controls, and text.
Windows 95/98 and Windows NT: The system font is MS Sans Serif.

Windows 2000/XP: The system font is Tahoma

SYSTEM_FIXED_FONT Fixed-pitch (monospace) system font. This stock object is provided only for compatibility with 16-bit Windows versions earlier than 3.0.

参考资料:MSDN

热心网友 时间:2023-10-19 23:16

你说的系统字体指的是窗口视默认使用的字体的话,可以用以下方法获得:
在View类里
CFont *f= this->GetFont();
f就是当前窗口视默认使用的字体对象指针

热心网友 时间:2023-10-19 23:16

VC 获取已系统安装的字体
BOOL CALLBACK EnumFonts(CONST LOGFONT* lplf, CONST TEXTMETRIC *lptm,DWORD dwType,LPARAM lparam)
{
CString tempFontName(lplf->lfFaceName);
CString temp=gSysFontNames;
if(tempFontName.Find("@")!=-1)
return true;
//可对tempFontName自行附加过滤条件
//{
gSysFontNames.Format("%s,%s",temp,tempFontName);
//}
return true;
}
void CDialogTest:OnButton1()
{
AfxMessageBox(GetSystemFontName((LPVOID)this);
}
CString CDialogTest::GetSysFontName(LPVOID lp)
{
gSysFontNames="";
try
{
CPaintDC dc((CWnd*)lp);
::EnumFonts(dc.m_hDC,NULL,(FONTENUMPROC)EnumFonts,0);
return gSysFontNames.Mid(1);
}
catch(...)
{
return "";
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小篇幅造句 易车如何发布二手车 转让卖车信息流程 《易车》群聊消息关闭方法 易车消息夜间勿扰方法步骤 易车如何开启消息夜间勿扰 易车 开启@消息推送 ...当入射角是 时,反射角是 。我们能从各个方向看到本身不发光的物体... 发泄的近义词和反义词是什么_发泄是什么意思? 我的世界手游 我的世界手机版怎么做末地传送门? 我的世界手游 末地传送门怎么做? 安全评价师的报考科目有什么 二层皮和超纤皮,超纤革那个质量好 如何读取系统字体、颜色、大小? 二层皮与pU皮有区别吗? 如何查看linux 服务器系统的字体? 怎么区分 二层皮沙发与超纤皮沙发? 如何查询当前环境下,Qt所支持的字体的名称 “二层皮”“PU皮”“超纤皮”是不是真皮 Win7系统找回已安装字体的操作方法? pu皮、超纤皮、头层皮、二层皮、蜡油皮怎么区分? 如何获取客户端系统已安装的所有字体? 如何获取系统字体列表 电脑默认字体怎样查看 怎么样查看系统安装有那些字体? 请问诈骗的谅解书怎么写? 刑事诉讼法——简答题 勘验笔录属于什么证据 留置人会判刑吗? 取保候审期满可否变更为监视居住 一般刑事案件开庭多久才能有结果 羁押必要性审查容易吗 pu皮、超纤皮、头层皮、二层皮、蜡油皮怎么区分啊? pu皮、超纤皮、头层皮、二层皮、蜡油皮怎么选择?首选?次选?最后选?怎么选?还有什么皮质工艺? 牛二层皮是超纤皮吗 PU皮,二层皮,真皮哪种最好啊? pe百分位计算公式 股票pE,PB百分位是什么意思? 会计初级职称一年进行几次考试? 市盈率怎么算? 市盈率,市净率,市盈百分位,市净百分位 如何算市盈率 市盈率如何计算和运用 苹果手机也怎么清理微信 《知否》小秦氏第几集下线了? 小秦氏什么时候下线 小秦氏吹灭香是第几集 知否中小秦氏的结局是怎样的? 知否:小秦氏大结局死了吗?小秦氏为什么设计?顾廷烨最后怎么死的? 知否:盛家祖母出身侯府,小秦氏结局是什么? 知否知否应是绿肥红瘦中老侯爷在的几集中死的 知否知否中顾廷烨的继母是第几集死的