テキストに縦線を引くことは可能でしょうか?
(指定バイト目を分かりやすくするため)
ご存知のかた教えて下さい。
『テキストに縦線を引く』……って、
┏━┯━┯━┯━┯━┯━┯━┯━┓
┃こ│う│い│う│こ│と│で│は┃
┣━┿━┿━┿━┿━┿━┿━┿━┫
┃な│い│の│で│す│よ│ね│?┃
┗━┷━┷━┷━┷━┷━┷━┷━┛
魔界の仮面弁士さん回答有難うございます。
やはり説明が分かり難かったですね。すいません。
仮にテキストに100行あるとすると10バイト目を指定すれば1行目から100行目まで
一本の線を引きたいのです。(境界線を表示したいのです)
できれば線を引く時にデータに影響が無いようにしたいのでテキストの
内容と境界線は別々にしたいのですが可能でしょうか?
なんだかピンとこない説明かもしれませんがお願いします。
うーん やっぱりよくわかりませんね。
>仮にテキストに100行あるとすると
>10バイト目を指定すれば
10バイト目ってどこから?ファイルの先頭?
それとも その行の先頭から?
>1行目から100行目まで
10バイト目(何の10バイト目かわかりませんが)を指定して
なぜに1行目から100行目まで?
10バイト目に縦線を引きたいって事ですか?
画像エディタ等にあるグリッドラインみたいな物って事ですか?
回答ではないですが、
テキストエディタにある現在行表示みたいな機能の
縦方向版のような感じじゃないでしょうか。
TextBoxの上にWidthを1にしたPictureBoxを重ねて、Moveメソッドで適当に動かす……ってのじゃダメなんだろうな〜(^^;
皆さん回答ありがとうございます。
どうも説明が下手なもので・・。ご迷惑おかけします。
グリッドラインのようなものです。固定長のデータを
扱うときにあったら良いなと思いまして。
こんな説明で分かっていただけますか?
nanashiさんのアイデアで駄目ですか?
こんな感じで、どうですか?
ピクチャボックスとボタンとテキストボックス2つを用意してください。
Private Sub Form_Load()
With Text1
.FontName = "MS ゴシック"
.FontSize = 11
End With
With Picture1
.AutoRedraw = True
.BackColor = vbBlack
.FontName = Text1.FontName
.FontSize = Text1.FontSize
.Top = Text1.Top
.Height = Text1.Height
.Width = 1
End With
End Sub
Private Sub Command1_Click()
Dim intSize As Integer
' 1文字の幅を算出
intSize = Picture1.TextWidth("1")
Picture1.Move Text1.Left + intSize * Text2.Text
End Sub
テキストボックス2に縦線を移動したいバイト位置を入力してみて下さい。
okuさん分かり易い回答有難うございます。
非常に良いのですが出来ればスクロールした時に線も
同時に動くようにしたいのです。またスクロール
しなければ見えない部分にも線が引けるようにしたい
と思っております。何だかわがままっぽくなりましたが
考え方だけでも教えて下さい。宜しくお願いします。
うーーん確かテキストボックスには
スクロールしたって言うイベント無かったはずなんで
フックしないと駄目なのかな?
自分では役不足です。他の強者にパスッ!
RichTextとH/VScrollBarを使って自前で作るとか・・
大変そうです。
皆さん有難うございます。
うーん、以外に難しいのですね。やはりフックですかねー。
もう少し皆様の意見をまってみます。
(フックで頑張って見ます)
友人からCOBOL用のエディタにそんな機能が
あるという情報がありました。
FSDev.exeでクラスを調べてもらうと[AfxFrameOrView42]
であると教えてもらったのですが、ネットで調べても
全く分かりませんでした。どなたかご存知の方がおり
ましたら教えて下さい
ツイート | ![]() |