1

私のWTLアプリでは、静的ラベルのフォントを変更しようとしています。ただし、CreatePointFontはNULLを返します。なぜこれなのか?

CFont font;

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

3 に答える 3

2

CreatePointFontそれがNULLを返しているのは確かですか?

フォントを設定するには、フォントをメモリに残しておく必要がありますが、コードスニペットからは、font設定直後に変数が破棄されているように見えます。

textMFCオブジェクトを使用している場合のクラスなど、オブジェクトの存続期間中に削除されない変数を宣言します。

于 2012-05-01T16:54:45.510 に答える
1

のnPointSize引数CreatePointFont()は10分の1ポイントです。おそらく、12/10=1.2ポイントのサイズは小さすぎます。あなたはおそらく渡すつもりでした120

簡単に言えば、これをビジネスアプリケーションに使用している場合は、 ban comicsansWebサイトにアクセスすることもできます。

于 2012-05-01T16:00:48.190 に答える
1

ドキュメントは失敗条件についてあまり冗長ではありませんが、マシンに名前付きフォントがないのではないかと思います

関数によってリストされているかどうかを確認します(ドキュメントEnumFontFamiliesから引用)。

Windows EnumFontFamilies関数を使用して、現在使用可能なすべてのフォントを列挙できます。

于 2012-05-01T16:03:02.623 に答える