64,642
社区成员
发帖
与我相关
我的任务
分享
void CSmartPointerDlg::PopQMenu( CString Anchor,CString ScreenKBoard,CString OnoffPPt,CString SystemStart,CString Help,CString About,CString Quit,CString Wideth )
{
QMenu ezmenu;
CMenu menu;
ezmenu.m_nWidth = _ttoi(Wideth);
menu.LoadMenu(IDR_TRAYNEWMENU); // 菜单ID号
ezmenu.Attach(menu.GetSubMenu(0)->GetSafeHmenu());
ezmenu.SetTotalItems(9); // 菜单资源总数
ezmenu.SetMenuBitmap(/*(HBITMAP)*/m_bmpMenu/*->Detach()*/); // 设置菜单位图
ezmenu.SetBitmapDimension(CSize(20,200)); // 菜单位图大小
ezmenu.SetExtensionColor(RGB(255,255,255)); // 设备菜单文本颜色(选中)
QMENUITEMDATA lpez[8];
//===========================退出===========================
lpez[0].SetItemIcon(m_hIconMenu[6]); // 图标
lpez[0].SetItemText(Quit);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS + 0,&lpez[0]);
//===========================关于===========================
lpez[1].SetItemIcon(m_hIconMenu[5]);
lpez[1].SetItemText(About);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS + 1,&lpez[1]);
//===========================帮助===========================
lpez[2].SetItemIcon(m_hIconMenu[4]);
lpez[2].SetItemText(Help);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS + 2,&lpez[2]);
//=========================开机启动=========================
if(m_bIsRunAfterBoot)
{
lpez[3].SetItemIcon(m_hIconMenu[7]);
}
else
lpez[3].SetItemIcon(m_hIconMenu[3]);
lpez[3].SetItemText(SystemStart);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS + 3,&lpez[3]);
//=========================PPTTOOL=========================
if(m_bIsPopAfterPPT)
{
lpez[4].SetItemIcon(m_hIconMenu[7]);
}
else
lpez[4].SetItemIcon(m_hIconMenu[2]);
lpez[4].SetItemText(OnoffPPt);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS + 4,&lpez[4]);
//==========================键盘============================
lpez[5].SetItemIcon(m_hIconMenu[1]);
lpez[5].SetItemText(ScreenKBoard);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS + 5,&lpez[5]);
//==========================定位============================
lpez[6].SetItemIcon(m_hIconMenu[0]);
lpez[6].SetItemText(Anchor);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS + 6,&lpez[6]);
//=========================分隔线===========================
ezmenu.RemoveMenu(ID_MENU_ANCHOR,MF_BYCOMMAND); // 移除加载的系统菜单 否则会多处一项没有个性化的
lpez[7].SetSeperator(TRUE);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS+7,&lpez[7],1);
ezmenu.InsertOwnerDrawnMenuItem(ID_QMENU_ITEMS+8,&lpez[7],5);
//========================使能控制===========================
ezmenu.EnableMenuItem(ID_QMENU_ITEMS+7,MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
ezmenu.EnableMenuItem(ID_QMENU_ITEMS+8,MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
// if(!m_pointdataDevice.m_bOsIsWin8)
// {
// ezmenu.EnableMenuItem(ID_QMENU_ITEMS+3, MF_BYCOMMAND|MF_ENABLED);
// }
// else
// {
// ezmenu.EnableMenuItem(ID_QMENU_ITEMS+3, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
//
// }
CPoint point;
::GetCursorPos(&point);
CSize size=ezmenu.GetMenuSize();
ezmenu.TrackPopupMenu(TPM_RIGHTALIGN,point.x,point.y,this);
}