この質問が基本的な事なのか、よく分からないぐらい初心者です。(XP/VB6)
リストボックスにSendMessageを使って、横スクロールバーを追加する
ことはできたのですがFileListBoxに追加できません。
その前に、追加できるのでしょうか?もし、できるのであれば
教えてもらいたいのですが、どうぞよろしくお願いします。
Declare Function SendMessage Lib "user32.dll" _
Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Public Const LB_FINDSTRING = &H18F
Public Const LB_FINDSTRINGEXACT = &H1A2
Public Const LB_SETSEL = &H185
Public Const LB_GETSELITEMS = &H191
Public Const LB_ERR = (-1)
Public Const LB_ADDSTRING = &H180
lRtn = SendMessage(FileListBox1.hWnd, LB_SETHORIZONTALEXTENT, 400, 0)
APIを使っても簡単にはできないようですので、下記のようにしてみて下さい。
PictureBox内にFileListBoxを貼り付けFileListBoxの
表示位置とサイズを変更する事で実現できます。
表示位置とサイズは調整して下さい。
Private Sub Form_Load()
'別途プロパティで設定でもOK
Picture1.Move 255, 345, 1610, 1800
File1.Move -40, -35
With HScroll1
.Move 15, 1485, 1550, 255
.Max = -3000
.Min = -40
.Value = -40
.LargeChange = 50
End With
End Sub
Private Sub HScroll1_Change()
File1.Left = HScroll1.Value
File1.Width = 1605 - HScroll1.Value
End Sub
VBレスキュー(花ちゃん)さん、返事ありがとうございます。
よく拝見しているHPだったので、すこし感動です。o^_^o
さて、書いて頂いたソースを試したのですが
Load時にエラーが出てしまいます。
ちゃんと、PictureBox内にFileListBoxを貼り付けたのですが
「オブジェクトが必要です。」とメッセージ。なぜでしょ?
もう一度、レスキューお願いします。ご迷惑と思いますが…。^ ^;
With HScroll1
.Move 15, 1485, 1550, 255 'ここでエラーです。
HScrollBar コントロールも貼り付けて下さい
すみません、HScrollBarを貼り付けて無事できました。
コンポーネントにスクロールバーがあることをすっかり忘れていました。
ほんとに、助かりました。ありがとうございました。
ツイート | ![]() |