1

私は常に、OWNERDRAWのプロパティをNOに設定したデフォルトのListBoxコントロールを使用してきました。しかし、デフォルトの右揃えで必要な幅のパディングが数字列の実際のサイズを超えて設定されていても、フォーマットされた文字列が整列されないため、固定サイズの等幅フォントを設定する必要があります。私の問題は、これをコーディングする最も簡単な方法がわからないことです。また、OWNERDRAWをNO以外に設定してコーディングしたこともありません。入力、例、またはリンクに感謝します。さらに、アプリを実行しているシステムで使用できる固定モノ幅フォントを確認する方法についての情報が必要ですか?(C ++ MFC、Visual Studio)

4

2 に答える 2

2

CFontオブジェクトを宣言し、CFont::CreateFontで初期化します。
「Courier New」は通常、固定幅フォントに適しています。

CListBoxSetFont()メソッド ( から継承) を使用CWndして、既定のものを置き換えます。

于 2010-02-14T16:09:44.707 に答える
0

CListBox についてはわかりませんが、標準の Windows リストボックスでは、WM_SETFONT メッセージを使用してコントロールのフォントを設定できます。CListBox はおそらくネイティブ リストボックスをラップするため、CListBox の HWND を取得できれば、WM_SETFONT を使用してそのフォントを簡単に設定できるはずです。

于 2010-02-14T15:49:24.800 に答える