Delphi实现Windows的气泡提示样式
其实也不复杂,主要使用到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的气泡提示样式的更多相关文章
- jquery.validate.unobtrusive.js实现气泡提示mvc错误
改写jquery.validate.unobtrusive.js实现气泡提示mvc错误 个人对于这个js.css不是很擅长,所以这个气泡提醒的样式网上找了下,用了这个http://www.cnblog ...
- iOS 灵活,简易,扩展性强的气泡提示框LFBubbleView(含源码)
一.效果图 二.使用方法 使用简单,4行代码集成. _bubbleView = [[LFBubbleView alloc] initWithFrame:CGRectMake(, , , )]; _bu ...
- 气泡提示 纯CSS
tooltip(气泡提示) 依赖 脚本文件:CalvinTip.js 样式文件:toolTip.css 参数 elems HTMLNode 必须 气泡提示的元素 options Object 可选 多 ...
- Asp.net Mvc 表单验证(气泡提示)
将ASP.NET MVC或ASP.NET Core MVC的表单验证改成气泡提示: //新建一个js文件(如:jquery.validate.Bubble.js),在所有要验证的页面引用 (funct ...
- Tippy.js - 免费开源且高度可定制的气泡提示独立组件
推荐一个非常优秀的 web 气泡提示独立UI组件. 介绍 Tippy.js 是一款用于Web的完整工具提示,弹出菜单,下拉菜单和菜单解决方案.适用于鼠标,键盘和触摸输入. 特点 超轻量的纯 javas ...
- CSS实现自定义手型气泡提示
实现自定义的手型气泡提示 <html> <head> <meta charset="utf-8"> <title></titl ...
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示
很多程序是只需要后台运行的,甚至不需要自己的应用界面.NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下: http://download.csdn.net/detail/u01031 ...
- php--validate错误信息提示样式
//validate 错误信息提示样式 可以提示错误信息 可以使用jq 自带的属性改变错误的显示的位置,其中element是验证未通过的当前表单元素,error为错误后的提示信息 [注意]:放的位 ...
- (Delphi) Windows 32 API程序设计目录
这里所有程序均使用Delphi调用Windows 32 API方式实现,并不是使用VCL已经封装好的类实现的! (一)第一个窗口程序 01 创建第一个窗口.
- Arc Engine 中添加气泡提示框
一.在ArcMap中的定位操作 已知若干点的经纬度坐标,要求在地图中进行定位: 1.通过Tool >Add X Y data 定位点,注意选择地理坐标系下的wgs 1984坐标系: 2.定位后的 ...
随机推荐
- Windows下更改MySQL数据库的存储位置(10为例子)
有时候,自己安装MySQL的时候都是默然安装路径的,MySQL安装时不能选择数据库文件的安装位置,也没有可用的直接更改数据库目录的工具.之后所新建的数据库默认存储在C盘,当然了C盘很重要什么东西都存过 ...
- nvm node 版本管理
nvm安装与使用 1.nvm是什么 nvm全名node.js version management,顾名思义是一个nodejs的版本管理工具.通过它可以安装和切换不同版本的nodejs.下面列出下载. ...
- java基础(一)~~内存分析
1.java内存分析 2.2.面向对象内存分析 Java虚拟机的内存可以分为三个区域:栈(stack).堆(heap).方法区(method area): 2.2.1.栈 栈的特点如下: 1.栈描述的 ...
- C 标准 C89/C90/C99/C11/C17
C89/C90 PDF:https://www.yodaiken.com/wp-content/uploads/2021/05/ansi-iso-9899-1990-1.pdf C99 PDF:htt ...
- docker systemctl start报错: Failed to get D-Bus connection: Operation not permitted
转载自:https://blog.csdn.net/zhenliang8/article/details/78330658 最近使用docker部署ansible,安装ssh 遇到启动服务报错:Fai ...
- Centos 性能监控技巧
1.top监控系统进程 top 命令查看进程时可自定义刷新频率,比较直观 用法 用法:Usage: top -hv | -bcHiOSs -d secs -n max -u|U user -p pid ...
- Oracle函数NULLIF
1.NULLIF函数 函数语法:NULLIF(Expression1,Expression2) 函数功能:如果来个表达式相等,则返回NULL值,否则返回第一个表达式 功能很简单,但是要注意以下几种情况 ...
- torch& tensorflow
#torchimport torch import torch.nn as nn import torch.nn.functional as F class Net(nn.Module): def _ ...
- 蓝桥杯训练赛二-1467 问题 F: 蓝桥杯基础练习VIP-完美的代价
题目描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的.小龙龙认为回文串才是完美的.现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串.交换的定义是: ...
- 自考网络原理:安全套接字层SSL
对ssl/tls的理解 前:SSL; 后:TLS: 以下是B站上的up主讲的,非常的深入浅出,讲的很好.感谢技术蛋老师. https://www.bilibili.com/video/BV1KY411 ...