我是参照例子来做的ON_MESSAGE(WM_SHOWTASK,OnTrayICONTask) //托盘的相应消息
LRESULT OnTrayICONTask(WPARAM wParam, LPARAM lParam);
LRESULT CTest::OnTrayICONTask(WPARAM wParam, LPARAM lParam)
{
if(wParam != IDI_ICON1)
return 1; switch(lParam)
{
case WM_RBUTTONUP: // 右键就弹出菜单
{
LPPOINT lpoint = new tagPOINT;
::GetCursorPos(lpoint); // 得到鼠标位置
CMenu menu;
menu.CreatePopupMenu(); // 声明一个弹出式菜单
menu.AppendMenu(MF_STRING, WM_DESTROY, "关闭");
menu.TrackPopupMenu(TPM_LEFTALIGN, lpoint->x ,lpoint->y, this);
HMENU hmenu = menu.Detach();
menu.DestroyMenu();
delete lpoint;
}
break;1、打算在托盘图标上感应到右键就弹出一个菜单,这个例子的菜单是一个AppendMenu方法写出来的参数,貌似第二个参数只能是消息,如果是打算执行一个函数的话,应该怎么做?2、如果已经有现成做好一个比较复杂的IDR_TrayMenu,这个MAKEINTRESOURCE应该怎么在这里被调用?
之前问过高手,据说要用“GetSubMenu(0)获取其子菜单”的方法来做,貌似第顶层的那个菜单是不起效的,
我用了
menu.LoadMenu(IDR_TrayMenu);
SetMenu(&menu);
来执行,但似乎IDR菜单显示得很怪异,不知道怎么搞的,
能请高手点明错误吗?
LRESULT OnTrayICONTask(WPARAM wParam, LPARAM lParam);
LRESULT CTest::OnTrayICONTask(WPARAM wParam, LPARAM lParam)
{
if(wParam != IDI_ICON1)
return 1; switch(lParam)
{
case WM_RBUTTONUP: // 右键就弹出菜单
{
LPPOINT lpoint = new tagPOINT;
::GetCursorPos(lpoint); // 得到鼠标位置
CMenu menu;
menu.CreatePopupMenu(); // 声明一个弹出式菜单
menu.AppendMenu(MF_STRING, WM_DESTROY, "关闭");
menu.TrackPopupMenu(TPM_LEFTALIGN, lpoint->x ,lpoint->y, this);
HMENU hmenu = menu.Detach();
menu.DestroyMenu();
delete lpoint;
}
break;1、打算在托盘图标上感应到右键就弹出一个菜单,这个例子的菜单是一个AppendMenu方法写出来的参数,貌似第二个参数只能是消息,如果是打算执行一个函数的话,应该怎么做?2、如果已经有现成做好一个比较复杂的IDR_TrayMenu,这个MAKEINTRESOURCE应该怎么在这里被调用?
之前问过高手,据说要用“GetSubMenu(0)获取其子菜单”的方法来做,貌似第顶层的那个菜单是不起效的,
我用了
menu.LoadMenu(IDR_TrayMenu);
SetMenu(&menu);
来执行,但似乎IDR菜单显示得很怪异,不知道怎么搞的,
能请高手点明错误吗?
解决方案 »
- 制作出的软件,怎么测定硬件环境,或者说怎么根据给定的硬件环境设计出符合需求的软件。
- 在视图中用编辑框问题?
- (急)滚动条自动增加问题
- 请问为什么vb中在vc的ocx事件中设置断点,vb就会在运行时crash
- 有谁能详细解说一下ClientToSreen()函数!!
- MFC单文档视图下,新创建Popup窗口时,MainFrame窗口禁止操作 为何?
- 怎样将数据库中的德语记录在CRichEditCtrl组件中正确显示
- 《Windows 程序设计》和《Visual C++技术内幕》同时看效果怎么样?
- 如何判断shellexecutex打开的网址已经完成?
- 窗口函数的疑问?
- menu菜单项灰化和变为可用
- 哪位帅哥有PDF417的编码表
2、CMenu menu;
menu.LoadMenu(IDR_MENU1); //读取资源
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON, point.x, point.y, this)