我在网上下了个托盘程序,单击托盘中菜单项的“关闭”时没反应!!!!
LRESULT CMp3TideDlg::onShowTask(WPARAM wParam,LPARAM lParam)
//wParam接收的是图标的ID,而lParam接收的是鼠标的行为
{
if(wParam!=IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_RBUTTONUP://右键起来时弹出快捷菜单
{ LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint);//得到鼠标位置
CMenu menu;
menu.CreatePopupMenu();//声明一个弹出式菜单
//增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已
//隐藏),将程序结束。
//menu.AppendMenu(MF_STRING,WM_NCDESTROY,_T("打开"));
menu.AppendMenu(MF_STRING,WM_DESTROY,_T("关闭"));
//确定弹出式菜单的位置
menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this);
//SetForegroundWindow();
// 在TrackPopupMenu前加上这句,可以让点击右键菜单时,弹出的菜单能自动消失
// ppopmenu->TrackPopupMenu(TPM_CENTERALIGN,point.x,point.y,this,NULL);
///资源回收
HMENU hmenu=menu.Detach();
menu.DestroyMenu();
delete lpoint;
}
break;
case WM_LBUTTONDBLCLK://双击左键的处理
{
this->ShowWindow(SW_SHOW);//显示主窗口
}
break;
}
return 0;
}
http://zhidao.baidu.com/question/39126833.html 我再这个地方下的!
LRESULT CMp3TideDlg::onShowTask(WPARAM wParam,LPARAM lParam)
//wParam接收的是图标的ID,而lParam接收的是鼠标的行为
{
if(wParam!=IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_RBUTTONUP://右键起来时弹出快捷菜单
{ LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint);//得到鼠标位置
CMenu menu;
menu.CreatePopupMenu();//声明一个弹出式菜单
//增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已
//隐藏),将程序结束。
//menu.AppendMenu(MF_STRING,WM_NCDESTROY,_T("打开"));
menu.AppendMenu(MF_STRING,WM_DESTROY,_T("关闭"));
//确定弹出式菜单的位置
menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this);
//SetForegroundWindow();
// 在TrackPopupMenu前加上这句,可以让点击右键菜单时,弹出的菜单能自动消失
// ppopmenu->TrackPopupMenu(TPM_CENTERALIGN,point.x,point.y,this,NULL);
///资源回收
HMENU hmenu=menu.Detach();
menu.DestroyMenu();
delete lpoint;
}
break;
case WM_LBUTTONDBLCLK://双击左键的处理
{
this->ShowWindow(SW_SHOW);//显示主窗口
}
break;
}
return 0;
}
http://zhidao.baidu.com/question/39126833.html 我再这个地方下的!
是在这里面写面?怎么写啊?我在这里面写了一句:if(nID == WM_DESTROY) 没反应!
void CMp3TideDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}