【转】让窗体由小到大逐渐显示出来

it2022-05-09  29

本文转自: http://www.hbjjrb.com/Jishu/vb/200704/9849.html

注意,单引号(')后的为英文注释 Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type

Private Sub Explode(Newform As Form, Increment As Integer) Dim Size As RECT ' setup form as rect type GetWindowRect Newform.hwnd, Size Dim FormWidth, FormHeight As Integer ' establish dimension variables FormWidth = (Size.Right - Size.Left) FormHeight = (Size.Bottom - Size.Top) Dim TempDC TempDC = GetDC(ByVal 0&) ' obtain memory dc for resizing Dim Count, LeftPoint, TopPoint, nWidth, nHeight As Integer ' establish resizing variables For Count = 1 To Increment ' loop to new sizes nWidth = FormWidth * (Count / Increment) nHeight = FormHeight * (Count / Increment) LeftPoint = Size.Left + (FormWidth - nWidth) / 2 TopPoint = Size.Top + (FormHeight - nHeight) / 2 Rectangle TempDC, LeftPoint, TopPoint, LeftPoint + nWidth, TopPoint + nHeight ' draw rectangles to build form Next Count DeleteDC (TempDC) ' release memory resource End Sub

 

Private Sub Form_Load() Explode Me, 4000 ' open this form by number of desired increment End Sub

转载于:https://www.cnblogs.com/feima-lxl/archive/2008/05/03/1180541.html

相关资源:JAVA上百实例源码以及开源项目源代码

最新回复(0)