首页 > 代码库 > C++ Button右键弹出式菜单
C++ Button右键弹出式菜单
Button右键弹出式菜单
关键点
用类来实现 的
实现过程
新建1个类 类名CButtonPopMenu 基类CButton
新建1个菜单资源 IDR_MENU1
// ButtonPopMenu.h : header file // Attributes public: CRect m_Rect; CMenu m_Menu; int m_MenuID; // ButtonPopMenu.cpp : implementation file void CButtonPopMenu::OnRButtonDown(UINT nFlags, CPoint point) { GetWindowRect( &m_Rect); point.x += m_Rect.left; point.y += m_Rect.top; VERIFY(m_Menu.LoadMenu(m_MenuID)); CMenu* pPopup = m_Menu.GetSubMenu(0); ASSERT(pPopup != NULL); CWnd* pWndPopupOwner = this; while ( pWndPopupOwner->GetStyle() & WS_CHILD ) { pWndPopupOwner = pWndPopupOwner->GetParent(); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON, point.x, point.y, pWndPopupOwner); } m_Menu.Detach(); m_Menu.DestroyMenu(); CButton::OnRButtonDown(nFlags, point); } // project02Dlg.h : header file #include "ButtonPopMenu.h" CButtonPopMenu m_btn1; // project02Dlg.cpp : implementation file BOOL CProject02Dlg::OnInitDialog() // TODO: Add extra initialization here m_btn1.m_MenuID=IDR_MENU1; |
图-1
备注
此文可以实现任意控件的右键菜单弹出
像一些控件默认所没有的功能都可以通过定义类 然后关联类来实现
相关链接
控件上弹出菜单
来自为知笔记(Wiz)
附件列表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。