2

質問 A.

与えられた

  1. 段落、タブ、スペース、改行、インデント、(または画像?) を含むリッチ テキスト形式の文字列
  2. ワード ラップ リッチ テキスト コントロール/エディターの幅

すべてのワード ラッピングを実行した後、コンテンツの高さを知るにはどうすればよいですか? のようなものはありますか

int MeasureRichTextHeightAfterWordWrap(string aRichTextContent, int aWidth)?

それ以外の場合、これらのリッチ テキスト コントロールは自動サイズ調整の量をどのように知るのでしょうか?

実際にコンテンツをダミーのリッチ テキスト コントロールに配置し、幅を設定し、後で GetPositionFromCharIndex(TextLength-1) で高さを取得する必要がありますか? これは機能しますが、「もったいない」ようです

質問 B. プレーン テキストのメモ/コントロール/エディターにプレーン テキストを描画し、RTF を装うために手動で計算されたインデント、改行、ワード ラッピングを使用して文字列を手動で描画するとします。

簡単ですか、それとも難しいですか?

より明確に見えるように編集し、母国語ではないため、私の英語が学生のように見える場合は申し訳ありません.

4

1 に答える 1

1

初めての回答で申し訳ありません。RichTextBox内で測定するための答えを見つけました。どうやら、Win32 GDI API 呼び出しを使用する必要があります。

http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.windowsforms.controls/2004-09/0574.html

このナゲットに出くわした後、検索を変更してこれを見つけました。これは、純粋な .NET の方法がない理由を説明しています。

http://www.developmentnow.com/g/38_2005_10_0_0_626243/I-dont-believe-this-code-gives-the-correct-RichTextBox-string-size.htm

于 2010-05-07T03:16:46.410 に答える