none
テキストエディタの行番号表示をするには? RRS feed

  • 質問

  • VS2005、VB.NETで開発しています。

    VS2005のエディタのように、テキストボックス(複数行)の横に行番号を表示したいの
    ですが、どのようにして実現すればいいのかがわかりません。Textboxの横にTreeviewを
    配置し、行番号を表示してみたのですが、他に何か方法はありませんでしょうか?

    よろしくお願いいたします。
    2007年3月15日 2:02

すべての返信

  • うめ吉さん、こんにちは。

     うめ吉 さんからの引用
    VS2005のエディタのように、テキストボックス(複数行)の横に行番号を表示したいのですが、どのようにして実現すればいいのかがわかりません。Textboxの横にTreeviewを配置し、行番号を表示してみたのですが、他に何か方法はありませんでしょうか?

    しっかりとしたものを作るのであれば、ほぼ自作になるでしょう。
    (ScrollableControl なら IME を受け付けられるかな?)

    単に見た目さえ実現できていれば良いのであれば、スクロールのたびに直接描画することになるでしょう。
    EM_SETMARGINS メッセージを送信して、左のマージンを行番号用に空けておいて、その位置に描画してください。

    2007年3月15日 2:23
  • あ、TextBox ではなくて RichTextBox でないと Draw は厳しいかもしれません。
    RichTextBox になってくると、EM_SETMARGINS を送信ではなく、SelectionIndent プロパティになると思います。

    いずれも未検証なので、できなかったからごめんなさい。

    2007年3月15日 2:32