天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 53|回复: 0

OjbectARX创建Ribbon菜单

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
[code]#include "stdafx.h"
#include "RibbonTest.h"
#include "rxregsvc.h"
#include <accmd.h>
#include "tchar.h"
using namespace System;
using namespace Autodesk::Windows;
using namespace Autodesk::AutoCAD::Windows;
using namespace Autodesk::AutoCAD::Ribbon;
  
RibbonButton ^NewRibbonBtn(System::String ^text)
{
    RibbonButton ^pButton = gcnew RibbonButton();
    pButton->Text = text;
    pButton->ShowText = true;
    return pButton;
}
static void AddRibbon()
{  
  
    RibbonTab ^myRibbonTab = gcnew RibbonTab();
    myRibbonTab->Title = "ARX Ribbon 测试";
    myRibbonTab->Id = "ArxRibbonId";
    RibbonPanel ^pPane1 = gcnew RibbonPanel();
    RibbonPanelSource ^pPanel1Src = gcnew RibbonPanelSource();
    pPanel1Src->Title = "ARX Panel 1";
    pPane1->Source = pPanel1Src;
    myRibbonTab->Panels->Add(pPane1);
    RibbonButton ^pRbnBtnLine = NewRibbonBtn("直线");
    pPanel1Src->Items->Add(pRbnBtnLine);
    RibbonButton ^pRbnBtnCircle = NewRibbonBtn("圆");
    pPanel1Src->Items->Add(pRbnBtnCircle);
    RibbonPanel ^pPanel2 = gcnew RibbonPanel();
    RibbonPanelSource ^panelSrc2 = gcnew RibbonPanelSource();
    panelSrc2->Title = "ARX Panel 2";
    pPanel2->Source = panelSrc2;
    myRibbonTab->Panels->Add(pPanel2);
  
    RibbonPaletteSet ^pPaletteSet = RibbonServices::RibbonPaletteSet;
    RibbonControl ^pControl =  pPaletteSet->RibbonControl;
    pControl->Tabs->Add(myRibbonTab);
}
void init()
{
    acedRegCmds->addCommand(_T("ArxRibbon"), _T("ArxRibbon"), _T("ArxRibbon"), ACRX_CMD_MODAL, AddRibbon);
}
void unload()
{
    acedRegCmds->removeGroup(_T("ArxRibbon"));
}
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
    switch (msg)
    {
        case AcRx::kNullMsg:
            break;
        case AcRx::kInitAppMsg:
            acrxDynamicLinker->unlockApplication(pkt);
            acrxDynamicLinker->registerAppMDIAware(pkt);
            init();
            break;
        case AcRx::kUnloadAppMsg:
            unload();
            break;
        case AcRx::kLoadDwgMsg:
            break;
        case AcRx::kUnloadDwgMsg:
            break;
        case AcRx::kInvkSubrMsg:
            break;
        case AcRx::kCfgMsg:
            break;
        case AcRx::kEndMsg:
            break;
        case AcRx::kQuitMsg:
            break;
        case AcRx::kSaveMsg:
            break;
        case AcRx::kDependencyMsg:
            break;
        case AcRx::kNoDependencyMsg:
            break;
        case AcRx::kOleUnloadAppMsg:
            break;
        case AcRx::kPreQuitMsg:
            break;
        case AcRx::kInitDialogMsg:
            break;
        case AcRx::kEndDialogMsg:
            break;
        case AcRx::kSuspendMsg:
            break;
        case AcRx::kInitTabGroupMsg:
            break;
        case AcRx::kEndTabGroupMsg:
            break;
        default:
            break;
    }
    return AcRx::kRetOK;
}[/code]

 

 

 

 

OjbectARX创建Ribbon菜单
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 13:27 , Processed in 0.139946 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表