各位高手 请帮帮我这个菜鸟!! 谢谢!!

maozijun 2002-11-02 10:00:07
我有两个窗体 我想在form1里面一个按钮 这个按钮的功能是按下去之后FORM2从FORM1
后面运动的出来 请问应该用那写语句或函数 请各位高手说的详细一点 谢谢
...全文
44 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
thirdapple 2002-11-03
  • 打赏
  • 举报
回复
控制透明度的在2000下有效,9x下看不出来哦!
守城小轩 2002-11-02
  • 打赏
  • 举报
回复
学习
Sean918 2002-11-02
  • 打赏
  • 举报
回复
用timer控制透明度如何?

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Const WS_EX_LAYERED = &H80000
Const GWL_EXSTYLE = (-20)
Const LWA_ALPHA = &H2

Dim rtn As Long, num

Private Sub Form_Load()
Form1.Visible = False
Form1.Timer1.Enabled = True
Form1.AutoRedraw = True
End Sub

Private Sub Timer1_Timer()
If num < 251 Then
If num > 0 Then Form1.Visible = True

num = num + 5
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn

SetLayeredWindowAttributes hwnd, 0, num, LWA_ALPHA
Else
Timer1.Enabled = False
End If
End Sub
Laney 2002-11-02
  • 打赏
  • 举报
回复
向学习thirdapple中
thirdapple 2002-11-02
  • 打赏
  • 举报
回复
现在发现窗体进入效果真的很好玩。还有没有其他的?
thirdapple 2002-11-02
  • 打赏
  • 举报
回复
代码如下:
'窗体进入效果的代码(Perfect!)
'在Form1中放入四个按钮,命名为CmdEnterBottom,CmdEnterTop,CmdEnterLeft,CmdEnterRight
Private Sub CmdEnterBottom_Click() 'Form2从下面进入
Dim i As Long
Form2.Top = Form1.Top
Form2.Left = Form1.Left
Form2.Width = Form1.Width
Form2.Height = Form1.Height
Form2.Show
Form1.ZOrder
For i = 0 To Form1.Height * 3
DoEvents
Form2.Top = Form1.Top + i / 3
Next i
Form2.ZOrder
For i = Form1.Height * 3 To 0 Step -1
DoEvents
Form2.Top = Form1.Top + i / 3
Next i
End Sub

Private Sub CmdEnterLeft_Click() 'Form2从左边进入
Dim i As Long
Form2.Top = Form1.Top
Form2.Left = Form1.Left
Form2.Width = Form1.Width
Form2.Height = Form1.Height
Form2.Show
Form1.ZOrder
For i = 0 To Form1.Width * 3
DoEvents
Form2.Left = Form1.Left - i / 3
Next i
Form2.ZOrder
For i = Form1.Width * 3 To 0 Step -1
DoEvents
Form2.Left = Form1.Left - i / 3
Next i
End Sub

Private Sub CmdEnterRight_Click() 'Form2从右边进入
Dim i As Long
Form2.Top = Form1.Top
Form2.Left = Form1.Left
Form2.Width = Form1.Width
Form2.Height = Form1.Height
Form2.Show
Form1.ZOrder
For i = 0 To Form1.Width * 3
DoEvents
Form2.Left = Form1.Left + i / 3
Next i
Form2.ZOrder
For i = Form1.Width * 3 To 0 Step -1
DoEvents
Form2.Left = Form1.Left + i / 3
Next i
End Sub

Private Sub CmdEnterTop_Click() 'Form2从上面进入
Dim i As Long
Form2.Top = Form1.Top
Form2.Left = Form1.Left
Form2.Width = Form1.Width
Form2.Height = Form1.Height
Form2.Show
Form1.ZOrder
For i = 0 To Form1.Height * 3
DoEvents
Form2.Top = Form1.Top - i / 3
Next i
Form2.ZOrder
For i = Form1.Height * 3 To 0 Step -1
DoEvents
Form2.Top = Form1.Top - i / 3
Next i
End Sub
'还是要打上“原创”的记号
'欢迎使用Fantasia Photo(http://3rdapple.51.net/FantasiaPhoto.htm)
'Made by Thirdapple's Studio(http://3rdapple.51.net/)
laihua 2002-11-02
  • 打赏
  • 举报
回复
private sub command1_click()
form2.show
end sub
biozafeng 2002-11-02
  • 打赏
  • 举报
回复
Just!
redeath 2002-11-02
  • 打赏
  • 举报
回复
在按扭下写:form2.show

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧