代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Delphi
】
实现窗体感知鼠标滑过并自动隐藏与显示窗口
作者:
秀清
/ 发布于
2015/5/13
/
1233
const WM_MouseEnter = $B013; WM_MouseLeave = $B014; type TfrmMain = class(TForm) . . Timer1: TTimer; procedure Timer1Timer(Sender: TObject); protected procedure WMMouseEnter(var Msg: TMessage); message WM_MouseEnter; end; implementation {$R *.dfm} procedure TfrmMain.WMMouseEnter(var Msg: TMessage); begin if(Top<0) then begin Top := 0; //为保证下拉窗体后呈现在最前面 SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE); //将窗体推到最前 SetWindowPos(Handle,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE); //然后取消窗体最前 end; Timer1.Enabled := True; end; //依赖定时器定时检查鼠标是否还在窗体范围内, //这样此能避免因为快速移动鼠标而丢失MOUSELEAVE事件 procedure TfrmMain.Timer1Timer(Sender: TObject); var rc:TRECT; pt:TPOINT; begin GetWindowRect(self.Handle,rc); //取窗体的矩形区域 GetCursorPos(pt); //取得当前鼠标所在位置 if(not PtInRect(rc,pt)) then //如果鼠标不在窗体范围内 begin if(Top = 0) then //如果目前窗体正吸附在屏幕上沿,则上移隐藏窗体 begin Top := 0-Height+2; end; Timer1.Enabled := False; //窗体隐藏后定时器关闭 SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE); //将窗体推到最前 end; end;
试试其它关键字
窗体感知
同语言下
.
多边形面积
.
限定软件使用时间
.
获取磁盘空间大小
.
窗口文字淡入淡出渐变效果
.
创建开机启动项
.
检测并枚举系统安装的打印机
.
实现保存和读取图片
.
字符串分隔函数
.
将BMP格式图形转化为JPG格式
.
解析FTP地址
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
秀清
贡献的其它代码
(
25
)
.
把网站的html文件中的http替换成https
.
验证手机号、密码、短信验证码
.
将一个字符串格式化为每间隔指定长度插入一个分隔符,
.
hive开启简单模式不启用mr
.
区间分组统计
.
FtpUtil 工具类使用
.
FileUtil,文件操作工具类
.
实现类似微信网页版在可编辑的div中粘贴内容时过滤剪
.
使用多个属性来进行过滤
.
检测邮箱地址是否合法
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3