通常のフォームの場合、
BorderStyleプロパティでフォームのスタイルを、
ControlBox、MinButton、MaxButtonでコントロールボックスの表示を
設定できますが、
MDIフォームでも同じように設定することは出来ないのでしょうか?
ヘルプを見ても見つけられなかったので、出来ないのかもしれませんが、
もし設定することが出来るのでしたら、その方法を教えていただけないでしょうか?
よろしくお願いします。
以下のページが参考になると思います。
GetWindowLong API, SetWindowLong API
を使用しなければなりません。
http://support.microsoft.com/default.aspx?scid=kb;ja;137033
とろさんありがとうございます。
上手くコントロールボックスの設定をすることが出来ました。
しかし、フォームのサイズをカーソルで変更できてしまうので、
変更できないようにしたいのですが、
それはどうやって行うのでしょうか。
要は最大・最小ボタンを消して、フォームのサイズを変更できなくしたいんです。
SetWindowLongを使えばそれも出来るかと思って調べてみたのですが、
なかなか見つかりませんでした。
別のAPIを使うのでしょうか。
# 少しは自分で考えましょう。
下のようにするだけです。
Const WS_THICKFRAME = &H40000
Private Sub MDIForm_Load()
Dim L As Long
L = GetWindowLong(Me.hwnd, GWL_STYLE)
L = L And Not (WS_MINIMIZEBOX)
L = L And Not (WS_MAXIMIZEBOX)
L = L And Not (WS_THICKFRAME)
L = SetWindowLong(Me.hwnd, GWL_STYLE, L)
End Sub
とろさんどうもありがとうございました。
もっと時間をかけて調べてから投稿すべきだったと反省しております。
これらのAPIについて、この後もっと調べてみようと思います。
いろいろなことに応用できるようなので。
これからはもっと調べてから質問するよう気をつけたいと思いますので、
これからもよろしくお願いします。
失礼します。
解決チェックを入れるのを忘れていました。
ツイート | ![]() |