在我的WTL应用程序中我试图更改静态标签的字体。但是CreatePointFont返回NULL。为什么会这样呢?为什么CreatePointFont()会为我返回NULL?
CFont font;
font.CreatePointFont(120, _T("Segoe UI"));
text.Attach(GetDlgItem(IDC_MAINTEXT));
text.SetFont(font);
在我的WTL应用程序中我试图更改静态标签的字体。但是CreatePointFont返回NULL。为什么会这样呢?为什么CreatePointFont()会为我返回NULL?
CFont font;
font.CreatePointFont(120, _T("Segoe UI"));
text.Attach(GetDlgItem(IDC_MAINTEXT));
text.SetFont(font);
的nPointSize参数CreatePointFont()
是在一个点的十分之一,也许你的12/10 = 1.2个百分点,规模太小。你可能打算通过120
。
在一个较轻的笔记上,如果您将其用于商业应用程序,您可能还想访问ban comic sans网站。
该文档是不是太详细的失败的情况,但我的猜测是,你不必
检查,如果它是由EnumFontFamilies
功能列出的机器上名字的字体(报价形成documentation):
在Windows EnumFontFamilies函数可用于枚举所有当前可用字体
我尝试过所有安装的字体,从Comic Sans到Arial。 – user555
获得了您正在使用的CreatePointFont变体的MSDN页面的链接?我发现只有三个参数,第三个是DC。你是否通过了适当的DC? –