首页 > 应用开发 > IT综合 > 用C++Builder实现任务栏图标动画效果 (转)
主页:.NET/">http://www.maxss.net
to:邮件:maxchou@163.com">邮件:maxchou@163.com
windows平台为应用程序提供许多的特色功能,任务图栏就是一个非常实用和经典的一个。它不但可以节省任务栏的空间,还可以通过不同的图标或动画效果来说明程序的当前状态等的信息。Windows里没有直接提供任务栏图标动画效果的支持,所以要自己通过编码实现,在这篇文章里大家可以看到其中一种实现任务栏图标动画效果的方法。
首先要了解一下有关任务栏图标编程的知识,要实现对任务栏图标的控制主要是通过shell_NotifyIcon()函数进行。该函数的api声明如下:
BOOL Shell_NotifyIcon( Dword dwMessage, PNOTIFYICONDATA lpdata );
typedef struct _NOTIFYICONDATA { DWORD cbSize; HWND hWnd; UINT uID; UINT uFlags; UINT uCallbackMessage; HICON hIcon; #if (_win32_ie < 0x0500) TCHAR szTip[64]; #else TCHAR szTip[128]; #endif #if (_WIN32_IE >= 0x0500) DWORD dwState; DWORD dwStateMask; TCHAR szInfo[256]; union { UINT uTimeout; UINT uVersion; } DUMMYUNIONNAME; TCHAR szInfoTitle[64]; DWORD dwInfoFlags; #endif #if (_WIN32_IE >= 0x600) GUID guidItem; #endif } NOTIFYICONDATA, *PNOTIFYICONDATA;
const int WM_NC_NOTIFY = (WM_USER + 1); // 自定义的通知消息 const int WM_NC_TRAYID = (WM_USER + 2); // 自定义的图标标识
BEGIN_MESSAGE_MAP VCL_MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, WMSysCommand); VCL_MESSAGE_HANDLER(WM_NC_NOTIFY, TMessage, WMNCNotify) END_MESSAGE_MAP(TForm)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-959266/ ,如需转载,请注明出处,否则将追究法律责任。