2

メニューを作成してGDIで描画しようとしています。

MENU TITLE がありますが、変更できません。私はアイテムの配列を持っています。

タイトルを「メインメニュー」にしたい場合、テキストの幅と高さはどのように計算すればよいですか? TextOut() の直前に SetBkColor() を HDC バックグラウンドとは異なる色に設定すると、Rectangle としてレンダリングされることがわかりますが、この長方形のサイズを画面にテキストを書き出す前に取得するにはどうすればよいですか?

また、事前に CreateFont() と SelectObject(HDC, Font) を設定して、メニューの「より大きな」テキストを記述できるようにします。

提案がある人はいますか?

ネイティブ GDI を使用し、.NET で新しい Graphics オブジェクトを使用していないため、これに対する有効な解決策が見つかりませんでした。

4

1 に答える 1

4

DrawText()最も簡単な方法は、おそらくDT_CALCRECT.

を使用して、テキストを自分で測定することもできますGetTextExtentPoint32()

于 2012-08-08T20:30:52.813 に答える