| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 703 人关注过本帖
标题:[求助]如何将按钮隐藏到屏幕的左边?
只看楼主 加入收藏
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
结帖率:94.12%
收藏
 问题点数:0 回复次数:9 
[求助]如何将按钮隐藏到屏幕的左边?
现有30个按钮锁定在一起,要将它们隐藏在屏幕左边,鼠标移到屏幕左边时会出现,应该如何制作,请大侠帮忙!
搜索更多相关主题的帖子: 屏幕 按钮 鼠标 隐藏 
2006-10-02 10:35
xk123
Rank: 1
等 级:新手上路
帖 子:32
专家分:9
注 册:2006-2-7
收藏
得分:0 
窗体 鼠标移动事件
2006-10-02 18:14
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
窗体 鼠标移动事件
***********
能说的详细一些吗?最好有代码,先谢了.
2006-10-11 20:50
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
不是很明白..你的目的..

我的msn: myfend@
2006-10-11 21:01
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 

只要能做到在一个主窗体form1上有一个隐藏在屏幕左边(或上边)的另一窗体form2(有30个按钮设置在此窗体上),只要鼠标靠近屏幕左边缘,form2就弹出来,就可以在此窗体上操作30个按钮之一.当鼠标移开form2,该窗体收回屏幕左边隐藏起来.下面有一段代码,但有错,请看一下如何解决?
有下面一段代码,但运行后还有些问题,请你验证一下,看问题出在何处?
1.模块的代码
------------ 

Option Explicit

Declare Function GetSystemMenu Lib "user32" (ByVal hwnd _
As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As _
Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long

Dim JsForm2 As Boolean 'Form2启动标记
Dim JSQ As Integer

2.Form2的代码
-------------

Sub Form_Load()
On Error Resume Next
Dim hMenu As Long
hMenu = GetSystemMenu(hwnd, False)
RemoveMenu hMenu, 4, &H400& '关闭窗体最大化按纽(偶不需要这个功能)
RemoveMenu hMenu, 3, &H400& '关闭窗体最小化按纽(偶不需要这个功能)

End Sub

Private Sub Form_Click() '单击窗体隐藏(偶不需要这个功能,要求鼠标离开,窗体就隐藏)

If Me.Top > 0 Then JSQ = 2: Form1.Timer1.Interval = 10: Form1.Timer1.Enabled = True
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If JsForm2 And Me.Top < 0 Then JSQ = 2: Form1.Timer1.Interval = 10: Form1.Timer1.Enabled = True
End Sub


3.Form1的代码
-------------

Option Explicit

Private Sub Command1_Click()'(偶不要加按钮,而是鼠标靠近屏幕边上,隐藏窗口就弹出)
JSQ = 2: Form2.Show
End Sub

private Sub Timer1_Timer()
If JSQ = 0 Then Timer1.Enabled = False: Exit Sub
If JsForm2 Then
If Form2.Top > 540 Then JsForm2 = False: JSQ = 0 Else Form2.Top = Form2.Top + 60
Else
If Form2.Top < 160 - Form2.Height Then JsForm2 = True: JSQ = 0 Else Form2.Top = Form2.Top - 60
End If
End Sub

2006-10-12 14:49
qlyk
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-11
收藏
得分:0 

用窗体的mousemove 事件可实现,具体做法:
在窗体的左边添加一个Frame1控件(我为了书写方便把它改名为F1),把F1的Visible属性设成False,在F1控件上添加NN个按钮
然后写入以下代码:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

'X的值可以根据程序的需要自定义。
If X < 100 Then
F1.Visible = True
Else
F1.Visible = False
End If
End Sub


锦上添花不如雪中送炭!! (完全自学,有不当之处敬请指正)
2006-10-13 14:27
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
谢谢glyk,照代码放入运行,如果窗体中只有一个Frame完全是可以实现的.
但目前在窗体Form1中原一个Frame1(放有几十个小图片),面积是全屏。所以现在加的是Frame2,将前面F1的代码都改成了F2(即Frame2),并对其属性Visible设为False。结果运行后无法显示F2不知何故?
修改部分内容如下:
If X < 100 Then
Frame2.Visible = True
Else
Frame2.Visible = False
End If

[此贴子已经被作者于2006-10-13 18:11:48编辑过]

2006-10-13 17:26
zmetero11
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2006-2-5
收藏
得分:0 
这个问题以前有人给出过答案,去百度上搜索:悬浮窗体的代码
这有两个地址;你也可以去百度搜索
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
http://www.programsalon.com/downloads30/sourcecode/windows/dialog/detail98129.html

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
http://www.mf100.com/download/2005-7/194.shtml

黑色的羽翼笼罩与夜月中,守护...不变<-\^/
2006-10-13 22:55
qlyk
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-11
收藏
得分:0 

这个问题可能是你把F2添加在F1上面了,你把下面代码添加上试试
Private Sub F1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


If X < 100 Then
Frame2.Visible = True
Else
Frame2.Visible = False
End If
end sub
意思就是说你把F2控件加在哪个控件或窗体里面就把F1改成什么名字


锦上添花不如雪中送炭!! (完全自学,有不当之处敬请指正)
2006-10-16 09:45
jrs123
Rank: 2
等 级:论坛游民
威 望:1
帖 子:627
专家分:14
注 册:2006-9-5
收藏
得分:0 
此问题已解决,是用悬浮式窗体的源代码改的。
谢谢zmetero11提供的网址!
谢谢qlykr提供的代码!
2006-10-16 18:57
快速回复:[求助]如何将按钮隐藏到屏幕的左边?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055251 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved