龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

VB中控件大小随窗体大小变化(3)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
For Each FormControl In pfrmIn ResizeControl FormControl, pfrmIn Next FormControl On Error Resume Next If Not pfrmIn.MDIChild Then On Error GoTo 0 pfrmIn.Visible = isVisible Else If bNew Then pfrmIn.H

   For Each FormControl In pfrmIn
    ResizeControl FormControl, pfrmIn
   Next FormControl

   On Error Resume Next

   If Not pfrmIn.MDIChild Then
    On Error GoTo 0
    pfrmIn.Visible = isVisible
   Else

    If bNew Then
    pfrmIn.Height = StartY
    pfrmIn.Width = StartX

    For Each FormControl In pfrmIn
     ResizeControl FormControl, pfrmIn
    Next FormControl

   End If
  End If
  On Error GoTo 0
  End If
  bRunning = False
  End If

  End Sub

  Public Sub SaveFormPosition(pfrmIn As Form)

  Dim i As Long

  If MaxForm > 0 Then

  For i = 0 To (MaxForm - 1)

   If FormRecord(i).Name = pfrmIn.Name Then

    FormRecord(i).Top = pfrmIn.Top
    FormRecord(i).Left = pfrmIn.Left
    FormRecord(i).Height = pfrmIn.Height
    FormRecord(i).Width = pfrmIn.Width
    Exit Sub
   End If
  Next i

  AddForm (pfrmIn)
  End If
  End Sub

  Public Sub RestoreFormPosition(pfrmIn As Form)

  Dim i As Long
  If MaxForm > 0 Then
  For i = 0 To (MaxForm - 1)
   If FormRecord(i).Name = pfrmIn.Name Then
    If FormRecord(i).Top < 0 Then
     pfrmIn.WindowState = 2
    ElseIf FormRecord(i).Top < 30000 Then
     pfrmIn.WindowState = 0
     pfrmIn.Move FormRecord(i).Left, FormRecord(i).Top, FormRecord(i).Width, FormRecord(i).Height
    Else
     pfrmIn.WindowState = 1
    End If
     Exit Sub
   End If
  Next i
  End If
  End Sub

  Public Sub Resize_ALL(Form_Name As Form)

  Dim OBJ As Object
  For Each OBJ In Form_Name
  ResizeControl OBJ, Form_Name
  Next OBJ
  End Sub

  Public Sub DragForm(frm As Form)

  On Local Error Resume Next
  Call ReleaseCapture
  Call SendMessage(frm.hwnd, WM_NCLBUTTONDOWN, 2, 0)

  End Sub

精彩图集

赞助商链接