用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧C++ Builder

让程序在前端显示和最小化时在系统栏里

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:44:30

程序缩成图标!  
/*参数说明:hWnd,不用多说了吧?
           uId,图标排在系统栏中的位置,设为0即可
           hIcon,图标
           s,鼠标移到图标上要显示的话
*/
/*注意:你必须自定义一个窗口消息MYWM_ICON,
#define MYWM_ICON     (WM_APP+100)
在窗口循环中响应该消息:
case MYWM_ICON:
switch(lParam)
{
   case WM_LBUTTONDOWN:
   case WM_RBUTTONDOWN:
}
以响应鼠标在该程序图标上的击键动作。
如果你想让程序只以图标方式放在系统栏,可以定义窗口属性为WS_EX_TOOLWINDOW或POPUP之类
*/
void PutToTaskBar(HWND hWnd,UINT uId,HICON hIcon,LPCTSTR s)
{
   TrayMessage(hWnd, NIM_ADD, uId,NULL, s);
   TrayMessage(hWnd, NIM_MODIFY, uId,hIcon, s);
}

BOOL TrayMessage(HWND hDlg, DWORD dwMessage, UINT uID, HICON hIcon, LPCTSTR lpszTip)
{
    BOOL res;
    //char szVTip[64];
    NOTIFYICONDATA tnd;
    tnd.cbSize        = sizeof(NOTIFYICONDATA);
    tnd.hWnd        = hDlg;
    tnd.uID            = uID;
    tnd.uFlags        = NIF_MESSAGENIF_ICONNIF_TIP;
    tnd.uCallbackMessage    = MYWM_ICON;
    tnd.hIcon        = hIcon;
    wsprintf(tnd.szTip,lpszTip);
    res = Shell_NotifyIcon(dwMessage, &tnd);
    if (hIcon)
        DestroyIcon(hIcon);
    return res;
}

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:27,625.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号