delphi 任务栏按钮闪烁(转)
type TFlashWInfo = record cbSize : LongInt; hWnd : LongInt; dwFlags : LongInt; uCount : LongInt; dwTimeout : LongInt; end;
procedure TForm1.Button1Click(Sender: TObject);
var FWinfo: TFlashWInfo;
begin
FWinfo.cbSize := 20;
FWinfo.hwnd := Application.Handle; // 闪烁窗口的句柄
FWinfo.dwflags := FLASHW_ALL;
FWinfo.ucount := 10; // 闪烁的次数
FWinfo.dwtimeout := 0; // 速度以毫秒为单位, 0 默认为与指针闪烁的速率相同
FlashWindowEx(FWinfo); // 使它闪烁!
end;
FLASHW_STOP = 0 // 停止闪烁FLASHW_CAPTION = 1 // 闪烁窗口标题FLASHW_TRAY = 2 // 闪烁任务栏按钮FLASHW_ALL = 3 // 闪烁窗口标题与任务栏按钮
FLASHW_TIMER = 4 // 不停地闪烁,直到FLASHW_STOP标志设置FLASHW_TIMERNOFG = 5 // 不停地闪烁直到窗口被前置
procedure TForm1.Timer1Timer(Sender: TObject);begin FlashWindow(Application.Handle, True);end;
procedure TForm1.Button1Click(Sender: TObject);begin Timer1.Enabled := not Timer1.Enabled;end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (GetForeGroundWindow()<>Form1.Handle) then
begin
FWinfo.cbSize := 20;
FWinfo.hwnd := Application.Handle;
FWinfo.dwflags := FLASHW_ALL;
FWinfo.ucount := 5;
FWinfo.dwtimeout := 0;
Flashing := True;
FlashWindowEx(FWinfo);
end
else
if (Flashing) then
begin
FWinfo.cbSize := 20;
FWinfo.hwnd := Application.Handle;
FWinfo.dwflags := FLASHW_STOP;
FWinfo.ucount := 0;
FWinfo.dwtimeout := 0;
FlashWindowEx(FWinfo);
Flashing := false;
end;
end;
procedure TForm1.FormPaint(Sender: TObject);begin if (Flashing) then begin FWinfo.cbSize := 20; FWinfo.hwnd := Application.Handle; FWinfo.dwflags := FLASHW_STOP; FWinfo.ucount := 0; FWinfo.dwtimeout := 0; FlashWindowEx(FWinfo); end;end;
delphi 任务栏按钮闪烁(转)的更多相关文章
- DELPHI中如何闪烁应用程序窗口或任务栏按钮
使用FlashWindowEx函数: 一.设置FlashWInfoDelphi中TFlashWInfo申明如下:TypeTFlashWInfo = record cbSize : LongInt; h ...
- Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换
Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换 1. 可能你的Alt+Tab键被别人禁用了,试下以下的方法: 1 2. 为什么要禁用Alt+Tab 1 3. ALT+TAB ...
- iOS开发 横向分页样式 可左右滑动或点击头部栏按钮进行页面切换
iOS开发 横向分页样式 可左右滑动或点击头部栏按钮进行页面切换 不多说直接上效果图和代码 1.设置RootViewController为一个导航试图控制器 // Copyright © 2016年 ...
- WPF 任务栏背景闪烁提醒
原文:WPF 任务栏图标闪烁提醒 public static class FlashWindow { [DllImport("user32.dll")] [return: Ma ...
- VC 任务栏图标闪烁
像QQ来消息时的,图标闪烁效果 将如下代码添加到Timer响应函数中 ) {// 任务栏图标闪烁 if (this != GetForegroundWindow()) { //// this-> ...
- Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁但是不能切换
Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁但是不能切换 1. 可能你的Alt+Tab键被别人禁用了,试下下面的方法: 1 2. 为什么要禁用Alt+Tab 1 3. ALT+TAB ...
- C# 程序启动最小化至任务栏及闪烁
主要功能: C#让窗体最小化至任务栏,同时在系统托盘区的图标点击左键能显示窗体,并使窗体闪烁. 首先: 创建窗体应用程序,并添加控件NotifyIcon及ContextMenuStrip控件 Noti ...
- Delphi窗体最大化按钮不可用情况下的最大化
最大化按钮不可用,而且窗体最大化,我以前一直这样设置:在Object Inspector下把BorderIcons属性下的biMaximize属性设置为False,然后把WindowState属性设置 ...
- VB6之调整任务栏按钮的位置
好无聊,睡前一更~ XP的任务栏没办法像win7那样随意拖动交换顺序,偶觉不爽,遂写程序搞之.这个不算什么新东西,参考了很多别人写的东东. 程序启动后,会在右下角托盘区显示钢铁侠的图标.右键击之,可选 ...
随机推荐
- usb需要做的工作
1. QStringList qlist = var2.split('&', QString::SkipEmptyParts); if (qlist.size() >= 2) { usb ...
- Sphinx + Read the docs theme
前言: 使用Sphinx 生成文档和使用 Read The Docs 的 readthedocs/sphinx_rtd_theme,假设是在Windows上运行并已安装好 python,可以执行pyt ...
- Django 自定义扩展命令
import datetime import logger from django.conf import settings from django.db.models import Q from d ...
- docker安装cboard
参考链接: https://hub.docker.com/r/chenlmdocker/docker-cboard/dockerfile https://www.cnblogs.com/zimo-ji ...
- leetcode-回溯②-难题
题10: 回溯:另:动态规划复杂度更低 class Solution: def isMatch(self, s: str, p: str) -> bool: def helper(s,p): i ...
- Delphi 鼠标控制函数GetCursorPos、SetCursorPos
GetCursorPos函数 获取鼠标的位置 var P: TPoint; begin GetCursorPos(P); //获取鼠标位置 end; SetCursorPos函数 设置鼠标的位置 v ...
- NodeJS+Express+mySQL服务端开发详解
随着NodeJS的发展,现在已经被很多人熟知,NodeJS已经成为了前端开发人员必备的技能.本文不会对NodeJS过多介绍 如果你感兴趣可以访问NodeJS 官网, 维基百科 本文是利用NodeJS+ ...
- 在ag-grid表格上实现类似Excel中的按下enter键自动跳转到下一行对应的输入框功能,Angular4开发
最近的项目使用ag-grid在Angular中处理表格,收到个需求是要能够同时修改大量的数据,按下Enter键的时候,光标得自动跳到下一行的对应列上. 方法一:用ag-grid自带的 enterMov ...
- java基础集合底层介绍
ArrayList.Vector.HashMap.HashTable.HashSet的默认初始容量.加载因子.扩容增量 这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或 ...
- maven学习整理-进阶知识
在maven的阶知识主要学习的是maven在eclipse中的使用.依赖相关的问题.继承(父子工程).统一版本管理.聚合等相关知识 1.maven在eclipse中的使用 由上篇基础知识学习到怎样下载 ...