SetWindowRgn()後の破棄とか
SetWindowRgn()後の破棄とか
Public Sub DestroyHRgn(objForm As Form)Dim lngRet As LongDim lngTmpRgn As Long'ダミーリージョン作成lngTmpRgn = CreateRectRgn(0&, 0&, 0&, 0&)If lngTmpRgn = 0& ThenMsgBox "ダミーリージョンの作成に失敗しました" & vbCrLf & _GetErrorMsg(), vbCritical Or vbOKOnlyElse'引数で指定されたウィンドウのリージョンを取得lngRet = GetWindowRgn(objForm.hWnd, lngTmpRgn)If lngRet <> ERROR Then'リージョン破棄lngRet = DeleteObject(lngTmpRgn)If lngRet = 0& ThenMsgBox "リージョンの破棄に失敗しました" & vbCrLf & _GetErrorMsg(), vbCritical Or vbOKOnlyElse'正常終了Exit SubEnd IfElseMsgBox objForm.Name & "のリージョン取得に失敗しました" & vbCrLf & _GetErrorMsg(), vbCritical Or vbOKOnlyEnd If'正常に破棄できなかったので戻り値を見ずにダミーリージョンを破棄Call DeleteObject(lngTmpRgn)End IfEnd Sub