注册 登录
编程论坛 VB6论坛

VB如何做到鼠标移动到窗体上 窗体从屏幕右边向左展开出现?

lctulxf 发布于 2016-03-31 20:32, 6620 次点击
向各位大侠求助,我要做下面功能的VB程序:

想用VB做一个程序,界面如下:
只有本站会员才能查看附件,请 登录


只有本站会员才能查看附件,请 登录

功能要求:

1、  程序运行时,form1窗体在窗口右边隐藏(只出现“学习内容”一列)

2、  鼠标移动窗体上时,form1窗体向左展开。

而且,单击相应的章节,出现具体的教学内容(怎么呈现教学内容都可以)

3、鼠标离开窗体时,form1窗体再折叠回原样。

[此贴子已经被作者于2016-4-1 08:25编辑过]

8 回复
#2
lctulxf2016-03-31 20:39
在线等……
希望各位专家给与指导,不胜感激!!!
#3
同志们小碎步2016-03-31 21:09
有人做了吗
#4
xiangyue05102016-04-01 09:05
话说,其实并不必用VB做这样的课件,PPT就可以达到类似的效果,有或者用专业的课件软件也是可以的
程序代码:

Option Explicit

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetWindowRect Lib "user32 " (ByVal hwnd As Long, lpRect As RECT) As Long

Private Type POINTAPI
X As Long
Y As Long
End Type

Private Type RECT
    Left   As Long
    Top   As Long
    Right   As Long
    Bottom   As Long
End Type

Dim showLargeFrm As Boolean

Dim smlWidth, lgWidth As Integer


Private Sub Form_Load()

smlWidth = 500
lgWidth = 7000
Timer1.Enabled = True
Timer1.Interval = 100

Form1.Width = 500
showLargeFrm = False
End Sub




Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.Width = 7000
showLargeFrm = True

End Sub

Private Sub Timer1_Timer()
If showLargeFrm Then
Dim p As POINTAPI, r As RECT
GetCursorPos p
GetWindowRect Me.hwnd, r
If p.X < r.Left Or p.X > r.Right Or p.Y < r.Top Or p.Y > r.Bottom Then
Form1.Width = 500
showLargeFrm = False
End If
End If
End Sub
#5
lctulxf2016-04-01 09:22
回复 4楼 xiangyue0510
谢谢版主的解答。
不过我还没测试成功。以上代码粘贴到哪儿?我是新手,不好意思,请详细说一下,好吗?
#6
lctulxf2016-04-01 09:26
回复 4楼 xiangyue0510
您好,可以详细指点一下吗?我急用
留下QQ号或手机号可以吗?谢谢
#7
xiangyue05102016-04-01 09:52
以下是引用lctulxf在2016-4-1 09:22:00的发言:

谢谢版主的解答。
不过我还没测试成功。以上代码粘贴到哪儿?我是新手,不好意思,请详细说一下,好吗?


这个就是你这个窗口的代码,不要告诉我窗口代码你都不清楚什么意思。 那样的话,你去找本VB教程,半小时就明白了。

label1就是你坐标的“学习内容”的label控件名字, form1是你的窗口,如果不是的话改成一致的就可以。
另外要加入一个timer(默认就是timer1)
#8
lctulxf2016-04-01 10:48
回复 7楼 xiangyue0510
谢谢楼主,我做成了。再完善一下链接就可以,谢谢!谢谢!
#9
xiangyue05102016-04-01 15:23
以下是引用lctulxf在2016-4-1 10:48:17的发言:

谢谢楼主,我做成了。再完善一下链接就可以,谢谢!谢谢!


不客气。你这么快做好,说明你还是用心学了,基本读懂了例子。
1