VB6を始めて2ヶ月ほどの初心者です。
テキストボックスを100個作ったのですが、多すぎて実行画面には表示出来ません。そこでスクロールバーを作って対応させたいのですが、どのようにしたら良いのでしょうか?アドバイスお願いします。よろしくお願いします。
・良く言われるのが、グリッド系のコントロールを使う。
・または、表示するときはリストボックスで、
編集するときはテキストボックスという風にする
かな?
厳密に作ろうとすると結構大変なのだが、以前こんなのを作ったことがある、参考までに。
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
ご返信ありがとうございました。
みなさんのアドバイスのおかげで無事解決することが出来そうです。
ありがとうございました。
| ツイート |
|