专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »VB教程 » delphi隐藏窗体:如何实现窗体的自动隐藏显示功能 »正文

delphi隐藏窗体:如何实现窗体的自动隐藏显示功能

来源: 发布时间:星期四, 2009年1月15日 浏览:75次 评论:0
  现在许多窗体都有自动隐藏/显示功能(比如OICQ) 实现这样功能其实很简单原理是:判断鼠标是否移到了屏幕最左边或最右边如果移到了则显示窗体如果鼠标移开了窗体则隐藏窗体在本我们将用到GetCursorPos这个API是实现这个功能最重要步这个作用就是获取当前鼠标坐标值我们可以通过这个值来判断鼠标是否移到了屏幕最边缘.下面我们就开始吧

  新建窗体将Form1更名为AutoHide将vbBorderStyle属性设置为4-Fixed ToolWindow这样就不能改变窗体大小ScaleMode属性设置为2-Po加入个TimerControl控件将Interval值设为1

  再新建个模块输入如下代码: Public Declare Function GetCursorPos Lib "user32" lpPo As POINTAPI As Long Type POINTAPI x As Long y As Long End Type 该代码则是用于声明GetCursorPos这个API这个API可以在VB6中自带“API 浏览器”中查找到

  在AutoHide窗体中输入如下代码: Dim Mouse As POINTAPI '这句代码在声明部分中加入 Private Sub Form_Load AutoHide.Height = Screen.Height '使窗体高度和屏幕高度相同 '调整窗体显示位置 AutoHide.Top = 0 AutoHide.Left = 0 - AutoHide.Width + 50 '使窗体在屏幕最左边显示并显示出小部分窗体此时为收缩状态 End Sub Private Sub Timer1_Timer a = GetCursorPosMouse If Mouse.x = 0 Then '鼠标移到了屏幕最左边x为屏幕纵坐标当纵坐标为0时表示鼠标已经移到了最左边因此这是最关键步 AutoHide.Left = 0 '使窗体居左显示 End If If Mouse.x > AutoHide.ScaleWidth Then '如果鼠标没有在窗体的上则隐藏窗体.

  注意:窗体ScaleMode属性定要设置为2-Po否则达不到隐藏效果 AutoHide.Left = 0 - AutoHide.Width + 50 '如果前面没有加上50这里也不加上 End If End Sub 好了单击F5运行下就可以看到我们效果了

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: