实现点击AutoCad2020自定义选项卡弹出模态对话框(Dialog)

前言

通过ObjectArx实现在AutoCad2020中自定义选项卡,点击选项卡后弹出一个模态对话框来输入一条直线起始点与终点的坐标

一、创建自定义选项卡

参考文章:AutoCAD2020自定义选项卡

二、使用ObjectArx2020向导创建项目

参考文章:创建ObjectArx2020项目

三、创建模态对话框Dialog

1.右击解决方案>>添加>>资源>>Dialog>>新建

2.修改Dialog的标题跟ID

3.拖拽编辑框来输入直线起始点跟终点的X,Y,Z坐标

拖拽完后的效果图如下

4.再进行文字跟编辑框相应修改

5.点击保存,保存Dialog

四、创建ArxWizMFCSupport

1.右击解决方案>>添加>>新建项

创建完成后目录结构会多出两个文件,一个头文件一个源文件

五、新建一个文件,名为TabControl

这个文件的作用主要是把对应选项卡命令跟Dialog用代码绑定,告诉程序点击哪个选项卡打开哪个Dialog

1.右击解决方案>>添加>>类

2.分别修改TabControl的头文件跟源文件

TabControl.h代码如下

#pragma once
class TabControl
{
public:
	static void initApp();
	static void unloadApp();
};

TabControl.cpp代码如下

#include "StdAfx.h"
#include "resource.h"
#include "TabControl.h"
#include "TestLineDialog.h"


void OpenCLineDialog();

void TabControl::initApp()
{
	// 注册command
	//创建直线命令
	acedRegCmds->addCommand(L"Tab", L"CTestLine", L"CTestLine", ACRX_CMD_TRANSPARENT, OpenCLineDialog);
	
}

void TabControl::unloadApp() {
	// 移除命令组
	acedRegCmds->removeGroup(L"Tab");
	
}

//打开创建直线Dialog
void OpenCLineDialog() {
	CAcModuleResourceOverride resOverride;
	CTestLineDialog theDialog;
	theDialog.DoModal();

}

3.随后修改acrxEntryPoint.cpp文件,修改内容如下

4.点击VisualStudio菜单的生成解决方案

如果有下图一样的报错

右击解决方案>>属性

重新生成

六、测试效果

在AutoCad命令中输入appload加载项目生成的arx文件,arx生成目录详见VisualStudio的输出控制台

操作效果如下

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值