私のWTLアプリでは、静的ラベルのフォントを変更しようとしています。ただし、CreatePointFontはNULLを返します。なぜこれなのか?
CFont font;
font.CreatePointFont(120, _T("Segoe UI"));
text.Attach(GetDlgItem(IDC_MAINTEXT));
text.SetFont(font);
私のWTLアプリでは、静的ラベルのフォントを変更しようとしています。ただし、CreatePointFontはNULLを返します。なぜこれなのか?
CFont font;
font.CreatePointFont(120, _T("Segoe UI"));
text.Attach(GetDlgItem(IDC_MAINTEXT));
text.SetFont(font);
CreatePointFont
それがNULLを返しているのは確かですか?
フォントを設定するには、フォントをメモリに残しておく必要がありますが、コードスニペットからは、font
設定直後に変数が破棄されているように見えます。
text
MFCオブジェクトを使用している場合のクラスなど、オブジェクトの存続期間中に削除されない変数を宣言します。
のnPointSize引数CreatePointFont()
は10分の1ポイントです。おそらく、12/10=1.2ポイントのサイズは小さすぎます。あなたはおそらく渡すつもりでした120
。
簡単に言えば、これをビジネスアプリケーションに使用している場合は、 ban comicsansWebサイトにアクセスすることもできます。
ドキュメントは失敗条件についてあまり冗長ではありませんが、マシンに名前付きフォントがないのではないかと思います
関数によってリストされているかどうかを確認します(ドキュメントEnumFontFamilies
から引用)。
Windows EnumFontFamilies関数を使用して、現在使用可能なすべてのフォントを列挙できます。