在我的WTL应用程序中,我试图更改静态标签的字体。但是CreatePointFont返回NULL。为什么会这样呢?

CFont font;

font.CreatePointFont(120, _T("Segoe UI"));
text.Attach(GetDlgItem(IDC_MAINTEXT));
text.SetFont(font);

最佳答案

您确定CreatePointFont返回NULL吗?

对于要设置的字体,它必须保留在内存中,而从您的代码段来看,变量font似乎在设置后直接销毁了。

text对象的生存期中声明一个不会删除的变量,例如使用MFC对象的类。

10-04 14:27