vbTabの数について
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/8/12 02:12:58
RichTextBox でも良ければ、SelectionTabs プロパティで設定できます。
指定単位はピクセルです。
の RichTextBox の場合は、SelTabCount / SelTabs プロパティです。
指定単位はピクセルです。
Dim s As String = "abc" & vbTab & "def" & vbTab & "GHQ" & vbCrLf _
& "123" & vbTab & "456" & vbTab & "789"
RichTextBox1.Text = s
RichTextBox2.Text = s
RichTextBox2.SelectAll()
RichTextBox2.SelectionTabs = New Integer() {0, 80, 160, 240}
RichTextBox2.Select(0, 0)
の RichTextBox の場合は、SelTabCount / SelTabs プロパティです。
投稿者 流れ者  (社会人)
投稿日時
2009/8/12 02:21:43
こんばんわ。
バージョンが分からないので、予測でしかいえませんが、
vbTabに限らず、"vb~"の形式の変数は、VB自体が持っている定数だったと思います。
ですので、vbTabの値をコード内で変更するのは不可能だと思います。
魔界の仮面弁士さんが書いているように、vbTabを使用しない方法で作成した方が
良いと思います。
バージョンが分からないので、予測でしかいえませんが、
vbTabに限らず、"vb~"の形式の変数は、VB自体が持っている定数だったと思います。
ですので、vbTabの値をコード内で変更するのは不可能だと思います。
魔界の仮面弁士さんが書いているように、vbTabを使用しない方法で作成した方が
良いと思います。
投稿者 (削除されました)  ()
投稿日時
2009/8/12 02:29:55
(削除されました)
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/8/12 02:59:35
なお、RichTextBox では都合が悪いのであれば、API を使う事で
TextBox のタブ位置を制御できます。(Multiline = True になっている場合のみ)
TextBox のタブ位置を制御できます。(Multiline = True になっている場合のみ)
Public Class Form1
Private Declare Auto Function SendMessage Lib "USER32" _
(ByVal hWnd As IntPtr, _
ByVal msg As Integer, _
ByVal wParam As Integer, _
ByVal lParam() As Integer) As IntPtr
'''<summary>複数行テキストボックスのタブストップ位置を設定する</summary>
'''<param name="Pos">指定なし=規定の設定値を使用。1個指定=一定間隔に配置、2個以上指定=指定した位置</param>
Public Shared Sub SetTabPos(ByVal TextBox As TextBoxBase, ByVal ParamArray Pos() As Integer)
Const EM_SETTABSTOPS As Integer = &HCB
If Pos Is Nothing Then ReDim Pos(-1)
SendMessage(TextBox.Handle, EM_SETTABSTOPS, Pos.Length, Pos)
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
'SetTabPos(TextBox2, 20, 40, 60)
SetTabPos(TextBox2, 20)
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim s As String = "abc" & vbTab & "def" & vbTab & "GHQ" & vbCrLf _
& "123" & vbTab & "456" & vbTab & "789"
TextBox1.Text = s
TextBox2.Text = s
End Sub
End Class
投稿者 ふく  (社会人)
投稿日時
2009/8/12 18:37:03
魔界の仮面弁士さん、流れ者さん、早々のご解答ありがとうございます。
RichTextboxでやりたいと思います。
本当にありがとうございました。
今後とも、よろしくお願いいたします。
取り急ぎ、お礼まで。
以上です。
RichTextboxでやりたいと思います。
本当にありがとうございました。
今後とも、よろしくお願いいたします。
取り急ぎ、お礼まで。
以上です。
textboxなどで表示位置をそろえるために使用するvbTabを使用しています。
たとえば、現在の表示位置の間隔が半角8文字だとすると、
それを、半角4文字にすることは可能でしょうか。
また、vbTabの既定値を変更することは、可能でしょうか。
可能であれば、その方法をご教授いただければと思います。
よろしくお願いいたします。
以上です。