其实也不复杂,主要使用到shellAPI下的TNotifyIconData这个结构体:

    

typedef struct _NOTIFYICONDATA {
DWORD cbSize; //结构体的大小,以字节为单位
HWND hWnd; //窗口的句柄
UINT uID; //应用程序定义的任务栏图标的标识符
UINT uFlags; //此成员表明具体哪些其他成员为合法数据
UINT uCallbackMessage; //应用程序定义的消息标示
HICON hIcon; //增加、修改或删除的图标的句柄
TCHAR szTip[64]; //指向一个以/0结束的字符串的指针
DWORD dwState; //Version 5.0,图标的状态
DWORD dwStateMask; //Version 5.0. 指明dwState成员的那些位可以被设置或者访问
TCHAR szInfo[256]; //指向一个以/0结束的字符串的指针,字符串的内容为气球提示内容
union {
UINT uTimeout; //表示气球提示超时的时间,单位为毫秒,此时间后气球提示将消失
UINT uVersion; //用来设置使用Windows 95 还是 Windows 2000风格的图标消息接口
};
TCHAR szInfoTitle[64]; //指向一个以/0结束的字符串的指针。字符串的内容为气球提示的标题
DWORD dwInfoFlags; //设置此成员用来给气球提示框增加一个图标,增加的图标出现在气球提示标题的左侧
GUID guidItem; //保留
HICON hBalloonIcon; //用于Windows Vista或更高版本的自定义气球图标
} NOTIFYICONDATA, *PNOTIFYICONDATA;

具体怎么用,给个函数 ->

procedure FillDataStructureandCreate(shint:string;dwFlags:Cardinal);
begin
with FsysIcon do begin
cbSize:=SizeOf(TNotifyIconData);
Wnd:=Handle;
uID:=Application.Icon.Handle;
uFlags:=NIF_MESSAGE or NIF_ICON or NIF_TIP or NIF_INFO;
hIcon:=Application.Icon.Handle;
StrPCopy(szInfoTitle,'标题');
StrPCopy(szInfo,shint);//shint为内容
dwInfoFlags:=dwFlags;//提示的图标
uCallbackMessage:=CM_ICONDATA; //自定义的消息处理函数
uTimeout:=15;
uVersion:=NOTIFYICON_VERSION_4;
end;
end;

调用

首先得添加

  

      FillDataStructureandCreate('右击重新显示窗体',NIIF_INFO);
Shell_NotifyIcon(NIM_ADD,@FsysIcon);

自定义提示

  

        FillDataStructureandCreate('服务已启动',NIIF_INFO);
Shell_NotifyIcon(NIM_MODIFY,@FsysIcon);

最后用完删除

  

Shell_NotifyIcon(NIM_DELETE,@FsysIcon);

其中 FsysIcon是TNotifyIconData类型.

Delphi实现Windows的气泡提示样式的更多相关文章

  1. jquery.validate.unobtrusive.js实现气泡提示mvc错误

    改写jquery.validate.unobtrusive.js实现气泡提示mvc错误 个人对于这个js.css不是很擅长,所以这个气泡提醒的样式网上找了下,用了这个http://www.cnblog ...

  2. iOS 灵活,简易,扩展性强的气泡提示框LFBubbleView(含源码)

    一.效果图 二.使用方法 使用简单,4行代码集成. _bubbleView = [[LFBubbleView alloc] initWithFrame:CGRectMake(, , , )]; _bu ...

  3. 气泡提示 纯CSS

    tooltip(气泡提示) 依赖 脚本文件:CalvinTip.js 样式文件:toolTip.css 参数 elems HTMLNode 必须 气泡提示的元素 options Object 可选 多 ...

  4. Asp.net Mvc 表单验证(气泡提示)

    将ASP.NET MVC或ASP.NET Core MVC的表单验证改成气泡提示: //新建一个js文件(如:jquery.validate.Bubble.js),在所有要验证的页面引用 (funct ...

  5. Tippy.js - 免费开源且高度可定制的气泡提示独立组件

    推荐一个非常优秀的 web 气泡提示独立UI组件. 介绍 Tippy.js 是一款用于Web的完整工具提示,弹出菜单,下拉菜单和菜单解决方案.适用于鼠标,键盘和触摸输入. 特点 超轻量的纯 javas ...

  6. CSS实现自定义手型气泡提示

    实现自定义的手型气泡提示 <html> <head> <meta charset="utf-8"> <title></titl ...

  7. C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示

    很多程序是只需要后台运行的,甚至不需要自己的应用界面.NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下: http://download.csdn.net/detail/u01031 ...

  8. php--validate错误信息提示样式

    //validate  错误信息提示样式  可以提示错误信息 可以使用jq 自带的属性改变错误的显示的位置,其中element是验证未通过的当前表单元素,error为错误后的提示信息 [注意]:放的位 ...

  9. (Delphi) Windows 32 API程序设计目录

    这里所有程序均使用Delphi调用Windows 32 API方式实现,并不是使用VCL已经封装好的类实现的! (一)第一个窗口程序 01 创建第一个窗口.

  10. Arc Engine 中添加气泡提示框

    一.在ArcMap中的定位操作 已知若干点的经纬度坐标,要求在地图中进行定位: 1.通过Tool >Add X Y data 定位点,注意选择地理坐标系下的wgs 1984坐标系: 2.定位后的 ...

随机推荐

  1. [CSAPP]第一章 计算机系统漫游 学习笔记

    CSAPP 第一章 计算机系统漫游 1.1 信息就是位+上下文 系统中所有信息-----包括磁盘文件.内存中的程序.内存中存放的用户数据以及网络上上传的数据,都是由一串比特表示的.同时区分不同数据对象 ...

  2. JS中立即执行函数和闭包的区别

    函数声明规则:必须指定一个函数名字 foo(); function foo() { console.log("函数声明") } 由于函数声明会被提升,所以调用函数可以在之前或之后调 ...

  3. js获取字符串中含有某个字符个数

    得到字符串含有某个字符的个数 /** * 获取字符串中某字符的个数 * @param str 字符串 * @param char char为某字符 * @returns String */ const ...

  4. 消息队列RocketMQ应用

    引用: https://www.cnblogs.com/ciel717/p/16180083.html 官方手册:https://help.aliyun.com/document_detail/442 ...

  5. System.Diagnostics.Process.Start(); 用法详解

    来源:https://news.68idc.cn/buildlang/ask/20150104156981.html 实例代码:http://www.cppcns.com/ruanjian/cshar ...

  6. ArrayList学习笔记

    目录 1.继承关系 1.1.Serializable 标记性接口 1.2.Cloneable 标记性接口 1.3.RandomAccess 标记性接口 2.属性 3.构造方法 3.1.无参构造方法-A ...

  7. Android 6.0动态添加权限(Finn_ZengYuan博客)

    1,随着手机版本变高,各种权限也有所限制:以下代码可人性化添加动态权限: 权限工具类1,2,3,4: 1,FinnPermissionConfig.CLass package com.finn.too ...

  8. Qt学习笔记(一) 关于QWidget类的paintEvent方法

    今天要讨论的也算是QT的核心之一了,那就是如何对widget进行重绘,这里就是可以看到,继承了QWidget的子类,自己重新写一个paintEvent函数就可以了. 这个paintEvent就相当于是 ...

  9. 【Ubuntu】设置桌面文件夹路径

    Ubuntu 系统会将桌面文件夹路径默认设置为 $HOME/Desktop,包括文档.下载.图片等文件夹路径都有各自的默认路径.若想更改这些文件夹路径,可参考『此链接』. 首先到希望更改的路径下建立桌 ...

  10. anr查看的一种方法

    看系统日志,系统日志里会看到system_server频繁进行GC,应该就是内存占用满了,然后看kernel log,会看到lowmemorykiller在频繁杀进程主要看RSS 搜utc,可以看到系 ...