博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

vb设置窗体不可移动

Posted on 2009-12-03 10:53  随风飘零0  阅读(705)  评论(0编辑  收藏  举报

Option Explicit
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, Optional ByVal wFlags As Long = 0&) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Dim i As Boolean

Function SetWindowMoveAble(ByVal hWnd As Long, Optional ByVal MoveAble As Boolean = True) As Boolean

'function: SetWindowMoveAble
'
  params:
'
          hWnd: 一个顶级窗口句柄
'
          MoveAble: 是否可移动
'
  result: 与参数 Moveable 的设置一样,否则即为失败

Dim mhandle As Long
If MoveAble Then _
  GetSystemMenu hWnd,
1&: _
  DrawMenuBar hWnd _
Else _
  mhandle
= GetSystemMenu(hWnd, 0&): _
  SetWindowMoveAble
= DeleteMenu(mhandle, &HF010&)

End Function

Private Sub Command1_Click()
SetWindowMoveAble hWnd, i
i
= Not i
End Sub

转自:http://topic.csdn.net/u/20091202/13/66015bdf-6b87-4268-8e9d-dccf45f7ae52.html?15976