zoukankan      html  css  js  c++  java
  • 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 nFlagsCPoint point
    {
        GetWindowRect( &m_Rect);
        point.x += m_Rect.left;
        point.y += m_Rect.top;
        
        VERIFY(m_Menu.LoadMenu(m_MenuID));    
        CMenupPopup = m_Menu.GetSubMenu(0); 
        ASSERT(pPopup != NULL); 
        CWndpWndPopupOwner = this; 
        
        while ( pWndPopupOwner->GetStyle() & WS_CHILD )
        {    
            pWndPopupOwner = pWndPopupOwner->GetParent(); 
            pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTONpoint.xpoint.ypWndPopupOwner);
        }
        m_Menu.Detach(); 
        m_Menu.DestroyMenu(); 
        CButton::OnRButtonDown(nFlagspoint);
    }
        
    // 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

    图-2


     

    备注

    此文可以实现任意控件的右键菜单弹出

    像一些控件默认所没有的功能都可以通过定义类 然后关联类来实现

     

    相关链接

                               

    控件上弹出菜单

     




    附件列表

    • 相关阅读:
      Excel函数和公式——Excel基础(8)
      Excel函数和公式——Excel基础(7)
      条件格式与公式——Excel基础(6)
      日期函数——Excel基础(5)
      Excel导入邮件合并——Excel基础(4)
      VScode与ssh
      python绘图相关知识点
      Python加密成.so或dll
      Pytorch从本地获取数据集
      Pytorch_3.3_ 线性回归的简洁实现
    • 原文地址:https://www.cnblogs.com/xe2011/p/3885702.html
    Copyright © 2011-2022 走看看