テキストボックスとスクロールバーを対応させるには?

解決


すー  2005-12-04 17:53:20  No: 128556

VB6を始めて2ヶ月ほどの初心者です。
テキストボックスを100個作ったのですが、多すぎて実行画面には表示出来ません。そこでスクロールバーを作って対応させたいのですが、どのようにしたら良いのでしょうか?アドバイスお願いします。よろしくお願いします。


ガッ  2005-12-04 18:00:17  No: 128557

・良く言われるのが、グリッド系のコントロールを使う。
・または、表示するときはリストボックスで、
  編集するときはテキストボックスという風にする
かな?


我龍院忠太  2005-12-04 20:16:22  No: 128558

厳密に作ろうとすると結構大変なのだが、以前こんなのを作ったことがある、参考までに。
indexを0にしたTextBoxを1つと、HScrollと VScrollをフォームの上に配置して、
Private Sub Form_Load()
    For n = 1 To 99
        Load Text1(n)
        Text1(n).Visible = True
        Text1(n).Text = CStr(n)
    Next
    VScroll1.Max = Text1(0).Height * 10 * (2 / 3)
    HScroll1.Max = Text1(0).Width * 10 * (2 / 3)
    MoveText
End Sub
Private Sub Form_Resize()
   With VScroll1
        .Top = 0
        .Left = Abs(Form1.ScaleWidth - .Width)
        .Height = Abs(Form1.ScaleHeight - HScroll1.Height)
    End With
    With HScroll1
        .Top = Abs(Form1.ScaleHeight - .Height)
        .Left = 0
        .Width = Form1.ScaleWidth
    End With
End Sub
Private Sub HScroll1_Change()
   MoveText
End Sub
Private Sub VScroll1_Change()
   MoveText
End Sub
Private Sub MoveText()
     For n = 0 To 99
        Text1(n).Left = (n Mod 10) * Text1(0).Width - HScroll1.Value
        Text1(n).Top = (n \ 10) * Text1(0).Height - VScroll1.Value
     Next
End Sub


すー  2005-12-05 13:56:27  No: 128559

ご返信ありがとうございました。
みなさんのアドバイスのおかげで無事解決することが出来そうです。
ありがとうございました。


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加