MDIの子のフォームのサイズを変えた時にスクロールバーを表示させたいのですが、
どのようにしたらできますか?
# なにがしたいのか、わからん。
子フォームのモジュールに以下のコードを記述して下さい。
子フォームのサイズを変更すると、スクロールバーが表示されます。
# だから、なに?
Option Explicit
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const WS_HSCROLL As Long = &H100000
Private Const WS_VSCROLL As Long = &H200000
Private Const GWL_STYLE As Long = (-16&)
Private Sub Form_Load()
Dim L As Long
L = GetWindowLong(Me.hwnd, GWL_STYLE)
L = L Or WS_HSCROLL
L = L Or WS_VSCROLL
L = SetWindowLong(Me.hwnd, GWL_STYLE, L)
End Sub
web画面を表示させたいので、フォームの画面を小さくしてもスクロールバーで
動かしてみれるようにしたいんです。
教えてくださったようにしたんですが、GWL_STYLEが宣言されていませんってなってしまうんですが・・
APIビューアでちゃんといれたのですが・・・
何度もすみません。。。
上記のコードをきちんと貼り付けましたか?
Private Const WS_HSCROLL As Long = &H100000
Private Const WS_VSCROLL As Long = &H200000
Private Const GWL_STYLE As Long = (-16&)
この部分があれば、『宣言されていません』というエラーは
出ないはずですが。
っていうか、
私の挙げたこの方法は止めておいた方が良いのでは?
# 回答した私自身が言うのもなんですが...
何の為にスクロールバーを表示させたいのかが
明記されていなかったので、
単にスクロールバーを表示させる方法を挙げただけで、
この方法で作成するのは困難かと。
それよりは、VScrollBar, HScrollBar コントロールを
使った方が簡単かと思います。
丁寧に返答くださってありがとうございます。
コントロールの方でもやってみます!
ツイート | ![]() |