系统托盘的使用 vc++

来源:互联网 发布:淘宝网衣服男装冬装 编辑:程序博客网 时间:2024/05/01 21:25

首先在初始化程序中添加如下代码:

BOOL CTestDlg::OnInitDialog(){CDialog::OnInitDialog();/*****略****/CString title;title.Format("提示信息");//添加系统托盘char lpszTip[256];strcpy(lpszTip,title);NOTIFYICONDATA data;data.cbSize = sizeof(NOTIFYICONDATA);data.hWnd   = m_hWnd;lstrcpyn(data.szTip,lpszTip,sizeof(lpszTip));data.uCallbackMessage = WM_TEST;data.uFlags           = NIF_MESSAGE | NIF_ICON | NIF_TIP;Shell_NotifyIcon(NIM_ADD,&data);return TRUE;  // return TRUE  unless you set the focus to a control}


添加消息

BEGIN_MESSAGE_MAP(CTestDlg, CDialog)

ON_MESSAGE(WM_TEST,OnTest)

END_MESSAGE_MAP()

 

.h 中添加

afx_msg void OnTest(WPARAM wParam, LPARAM lParam);

 

.cpp中添加消息响应函数

 

void CTestDlg::OnTest(WPARAM wParam, LPARAM lParam){UINT uMouseMsg = (UINT) lParam;if(uMouseMsg == WM_RBUTTONDOWN){CMenu* pPopup = m_Menu.GetSubMenu(0);CPoint point;GetCursorPos(&point);pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_VERTICAL,point.x,point.y,AfxGetApp()->m_pMainWnd,TPM_LEFTALIGN); }if(uMouseMsg == WM_LBUTTONDBLCLK)     //双击鼠标{ShowWindow(SW_SHOWNOACTIVATE);    //恢复窗口的显示}}


 

 

原创粉丝点击