"网络蚂蚁"和"FlashGet"的悬浮窗口的实现
最近有网友问道如何用 Delphi 实现"网络蚂蚁"和"FlashGet"的悬浮窗口,笔者对使用到的相关技巧做了整理如下:
1.悬浮窗口
Delphi 的 TForm.FormStyle 具有 fsStayOnTop 属性,但只是对其程序本身而言的,也就是说只在此应用程序本身的窗口中是前端显示的,其他的程序的窗口仍然可以覆盖此类型的窗口.这是应为此窗口的父窗口是 TApplication .要让悬浮窗口独立的显示在屏幕前端,应在创建窗口时将其父窗口设置为"桌面".
Form2 := TForm2.CreateParented(GetDesktopWindow);
2.允许 Client 区域拖动窗口
这只要捕获窗口的 WM_NCHITTEST 消息,将客户区HitTest(HTCLIENT)变成标题栏的HitTest(HTCAPTION)就可以了.
3.半透明
Windows2000/XP 给窗口增加了WS_EX_LAYERED 属性,并通过 APISetLayeredWindowAttributes(); 来设置此属性的详细信息.Delphi 6 的 Forms 单元已经支持此窗口属性.
property AlphaBlend default False; // 是否使用半透明效果
property AlphaBlendValue default 255; // 透明度 0..255
property TransparentColor default False; // 是否使用穿透色
property TransparentColorValue default 0; // 穿透色
(*此功能仅 Windows2000/XP 支持,不要在 Win9x 尝试此特效)
4.接收来自 Shell 的鼠标拖拽
这将使用到 ActiveX 单元的 IDropTarget 接口,并扩展你的 Form 类.
TForm2 = class(TForm, IDropTarget)
....
end;
并在窗口拥有句柄后,用 RegisterDragDrop() 注册成为 DragDrop 接受目标.
以下是实现的代码:
unit DropBin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, ActiveX, ComObj;
type
TfrmDropBin = class(TForm, IDropTarget)
private
procedure WMNCHitTest(var Msg:TWMNCHitTest); message WM_NCHITTEST;
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
procedure DestroyWnd; override;
procedure DoClose(var Action: TCloseAction); override;
// DragDrop 支持
function DragEnter(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; stdcall;
function IDropTarget_DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; stdcall;
function IDropTarget.DragOver = IDropTarget_DragOver; // 解决 IDropTarget.DragOver 与 TForm.DragOver 冲突问题
- flashget > "网络蚂蚁"和"FlashGet"的悬浮窗口的实现
-
"网络蚂蚁"和"FlashGet"的悬浮窗口的实现
下载该文档 文档格式:DOC 更新时间:2002-10-02 下载次数:0 点击次数:1文档基本属性 文档语言: Simplified Chinese 文档格式: doc 文档作者: 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- DOC格式下载
- 更多文档...
-
上一篇:FlashGet 1.73 gestionnaire de téléchargements
下一篇:FlashGet 3.3.0.1090 Portable Free Downloads - DownTR
点击查看更多关于flashget的相关文档
- 您可能感兴趣的
- flashget官方下载 flashget下载 解除flashget自动运行 快车flashget flashget快车官方下载 flashgetnetwork 快车flashget3.0 网际快车flashget 快车flashget4.0
- 大家在找
-
- · 河南省2010年gdp
- · 6ra70电流波形畸变的
- · 办公自动化exel试题
- · 财务管理课程期末试卷A卷
- · 367世界画家艺术网
- · cad绘图快捷键大全
- · 奔腾汽车b50
- · 重庆 王军 语文教案
- · 西安音乐广播
- · 阿狸和桃子的透明图片
- · 哈工大学研究生院
- · 领导干部下基层文章
- · calculator
- · 电大经济数学基础2006
- · 青岛短期厨师培训
- · 平面设计教程自学
- · 别克英朗价格
- · 大专会计毕业论文范文
- · 不思议游戏动漫
- · 怎么删除节word2003
- · 花岗岩辊筒三辊机
- · office2003中文完整版
- · 中华医学会投稿系统
- · pis影魔集锦
- · 红豆是怎么猥琐儿童的
- · y430显卡和cpu温度高
- · 好看的电影
- · www.360bo.com
- · 韩国女艺人被刺
- · vf学生信息管理系统
- 赞助商链接