通常のフォームであればフォームのMinButton,MaxButtonプロパティをFalseにしてしまえば最小化・最大化ボタンは消去されますが、MDIフォームでは先に上げたプロパティは存在しないので消去できません、この場合APIで消去するこの方法が有効です。(通常のフォームにも有効です。)
グニグニさん貴重な情報ありがとうございました。(情報提供日2000/7/21)
※システムメニューの「最小化」「最大化」まで無効化したい場合は「システムメニューの削除(API)」を参照して下さい。
Private SubForm_Load()
DimlngStyleAs Long
'最小化ボタンの消去
lngStyle = GetWindowLong(Me.hwnd, GWL_STYLE)
CallSetWindowLong(Me.hwnd, GWL_STYLE, lngStyleAnd NotWS_MINIMIZEBOX)
'最大化ボタンの消去
lngStyle = GetWindowLong(Me.hwnd, GWL_STYLE)
CallSetWindowLong(Me.hwnd, GWL_STYLE, lngStyleAnd NotWS_MAXIMIZEBOX)
End Sub
'-------------------------------------------------------
'
'-------------------------------------------------------
Public Declare FunctionGetWindowLongLib"user32"Alias"GetWindowLongA" (ByValhwndAs Long, ByValnIndexAs Long)As Long
Public Declare FunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhwndAs Long, ByValnIndexAs Long, ByValdwNewLongAs Long)As Long
Public ConstGWL_STYLE = (-16)
Public ConstWS_MAXIMIZEBOX = &H10000
Public ConstWS_MINIMIZEBOX = &H20000
DownLoad vbtips105.lzh 2KB (VB6.0)