高难问题,不知道有没有人会?
我想实现一效果:form1和form2,在form1上点击某个按钮,然后form2在form1的左侧或右侧缓缓弹出,就想小日本家中的推拉门一样
请问高手如何实现,谢谢?
问题点数:0、回复次数:13Top
1 楼space6212()回复于 2004-12-03 09:03:44 得分 0
有人会吗?好急啊Top
2 楼ezlj(我啊)回复于 2004-12-03 09:06:55 得分 0
支持你,form2从form2内移动?旁边移动,能讲清楚点吗写Top
3 楼bboos(梧桐:只灌水不谈技术)回复于 2004-12-03 09:16:11 得分 0
在Timer事件中执行form2的移动Top
4 楼of123()回复于 2004-12-03 09:18:09 得分 0
可以,事先将 Form2 放在Form1 后面被遮挡(注意要同时移动)。当点击按钮后,启动一个 Timer,用 Form2.Move 方法将其左移或右移。 直至到位,关闭 Timer。Top
5 楼space6212()回复于 2004-12-03 09:20:02 得分 0
是向旁边移动,不能用TIMER控件吧,因为我要求的效果是:form2看起来是被form1挡住一样,然后推动form2才逐渐出现的Top
6 楼space6212()回复于 2004-12-03 11:23:11 得分 0
怎么没有人帮我啊?Top
7 楼WallesCai(女人之美,在于蠢得无怨无悔,男人之美,在于撒谎撒得白日见鬼)回复于 2004-12-03 15:17:21 得分 0
使用TIMER控件,加窗体的MOVE方法Top
8 楼aohan(aohan)回复于 2004-12-03 15:21:10 得分 0
并不是不能做到的事,呵呵Top
9 楼achinacracker()回复于 2004-12-03 15:23:08 得分 0
高难问题才给20F啊Top
10 楼space6212()回复于 2004-12-03 15:50:10 得分 0
不是我不想给分,我只有60分了,但我时菜鸟,以后问问题还要给分,所以……
反正谢谢各位帮忙了Top
11 楼aiur2000(破愿立志别故里,荆棘南下思北风)回复于 2004-12-03 16:03:58 得分 0
===================form1
Option Explicit
Private Sub Command1_Click()
Form2.Show
Form1.ZOrder 0
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Form2.Left = Form2.Left - 10
End Sub
=======================================form2
Option Explicit
Private Sub Form_Load()
Me.Left = Form1.Left
Me.Top = Form1.Top
End Sub
Top
12 楼wwqna(york)回复于 2004-12-03 16:13:13 得分 0
Private Sub Command1_Click()
Form2.Left = Me.Left + Me.Width
Form2.Top = Me.Top
Form2.ShowWindow
End Sub
Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwtime As Long, ByVal dwFlags As Long) As Long
Const AW_HOR_POSITIVE = &H1 ''从左到右打开窗口
Const AW_HOR_NEGATIVE = &H2 ''从右到左打开窗口
Const AW_VER_POSITIVE = &H4 ''从上到下打开窗口
Const AW_VER_NEGATIVE = &H8 ''从下到上打开窗口
Const AW_ACTIVATE = &H20000 ''在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量
Const AW_SLIDE = &H40000 ''看不出任何效果
Const AW_BLEND = &H80000 ''淡入淡出效果
Private Animatetime As Long
Private FormWidth As Long
Public Sub ShowWindow()
AnimateWindow Me.hwnd, 1000, AW_HOR_POSITIVE Or AW_ACTIVATE
Me.Cls
End Sub
Top
13 楼myjian(嗷嗷叫的老马--很不顺.....最近.....很不顺.........)回复于 2004-12-05 21:16:55 得分 0
楼上的效果不错!!!但是,有一个问题存在:在动态过程中,窗体是"黑"的!
我觉得,还是用上上一楼的方法好一点,最多加个DoEvents嘛.....Top




