NOTIFYICONDATA m_ntyIconData;
//-----------初始化----------------------------------------------------------
m_ntyIconData.cbSize = sizeof (NOTIFYICONDATA);
m_ntyIconData.hWnd = this->m_hWnd;
m_ntyIconData.hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
strcpy(m_ntyIconData.szTip,"这是一个任务栏测试程序");
m_ntyIconData.uFlags = NIF_TIP|NIF_MESSAGE|NIF_ICON; //有效的成员包括Tip,msg,icon
m_ntyIconData.uCallbackMessage = WM_SHOWICON; //响应的消息
//-----在任务栏上显示----------------
::Shell_NotifyIcon(NIM_ADD,&m_ntyIconData);
//在这可以隐藏窗口了
//----------删除任务栏上的显示
::Shell_NotifyIcon(NIM_DELETE,&m_ntyIconData);
//----------------消息函数----------------
LRESULT CTestDlg::OnShowTask(WPARAM wParam,LPARAM lParam)
{
if (wParam!=IDR_MAINFRAME)
{
return 1;
}
CMenu menu;
POINT p;
CMenu *pMenu = NULL;
switch (lParam)
{
case WM_LBUTTONDBLCLK: //左键双击
ShowWindow(SW_SHOW);
break;
case WM_RBUTTONUP: //右键单击
::GetCursorPos(&p);
menu.LoadMenu(IDR_MENU1);
pMenu = menu.GetSubMenu(0);
if (pMenu!=NULL)
{
this->SetForegroundWindow(); //这条要的, 不信去掉看看会怎样
pMenu->TrackPopupMenu(TPM_LEFTALIGN,p.x,p.y,this);
}
break;
default:
break;
}
return 0;
}
正文
托盘(ZT)2005-08-08 18:46:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/elva6401/3620.html
阅读(4066) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论