|
ObjetArx2004+VS20023 W# G `- D# w$ X- @3 @: O
前提:安装好以上两种软件# n9 m q2 e- [5 d2 o0 J
创建步骤:
, ^( Q: L" p( U5 H, g' L1. 新建项目
% C5 t) K, e4 i# xVisual C++项目->选择ObjectARX/DBX/OMF->键入"Demo"项目名称
! Z! X5 j% F$ c3 L6 V4 b$ R* |MFC Support中勾选Enxtension Dll->using MFC Shared DLL,其他取默认值
9 J, n; |/ i7 e7 v4 D2. 删除文件
" o! t- a0 N" b在“解决方案资源管理器”中删除向导生成的acrxEntryPoint.cpp,DocData.cpp,DocData.h文件% `. b( v2 b9 F
同时可以在文件夹下彻底删除文件,后续步骤并不需要用到这3个文件。 如果删除的话,注意需要修改StdAfx.h文件代码,在此文件最末尾:4 r" |7 R* e7 n" |
#include "DocData.h" //----- Your document specific data' @. K6 H2 M6 T% z( `( \, D
extern AcApDataManager DocVars ;% U& O/ w: U# @0 e1 j P- ?
注释掉上面两行代码。& o$ V# T/ q" \4 S% S
3. 添加Demo.h文件$ W6 Y2 m( z! o, N) }7 n
同时在Demo.h文件中加入代码
2 Y- V* u6 y. f5 z7 }) d #pragma once" e; v0 Y. ~5 x: j
#include"resource.h"% \% z7 k$ s5 U. {5 P8 Z% t/ I
3. 创建一个普通对话框,基于CDialog类,并生成类CDlgDemo
2 E0 ]5 @& b: W$ i" R1 p8 o4. 打开Demo.cpp文件,对这个文件要进行比较多的操作
5 a: t; Z* M5 w: |: R2 P v1 \注释掉"AFX_EXTENSION_MODULE DemoExtDLL ={ NULL, NULL };"这一句
( K5 H) a7 H0 R' I6 o }·添加#include "DlgDemo.h"头文件
, R% |& H0 v' b/ L8 H·添加函数DlgDemo(),具体见附件源文件代码; j. l% s3 N( C% ~& X
·添加initApp(),unloadApp()* @0 g0 |9 k; f! y
注释掉DllMain中的"_hdllInstance =hInstance ;5 A i M7 P5 ^" ]$ Y
·在文件的末尾添加acrxEntryPoint()
9 D/ x9 `& d$ r, s+ F+ c这里需要提醒一下的是关于AC_IMPLEMENT_EXTENSION_MODULE(DemoDLL)的使用2 X$ X- M' [; Q* y* o
涉及到了Dll资源的使用,所以DemoDLL在这里相当于一个连接AutoCAD和MFC的纽带," z' j$ x. `1 a
保持整个Demo.cpp中,DemoDLL的一致" T; 3 S$ V r9 e/ ~9 |
5. 项目设置
: q+ p; J8 p# S G! v菜单"工具"->"选项"->"项目"->"包含文件"->添加ObjectARX2004的inc目录
% ]4 d: F7 ]' M0 r->"库文件"->添加ObjectARX2004的lib目录
' V: y1 \ _% B' D. W& M4 b% B6. 生成解决方案0 R6 l m9 Y. w5 F& j: _
一切pass,有2个警告rxapi.lib(libinit.obj) : warning LNK4099: 未发现 PDB“msvc.pdb
# o4 D' ]* ~5 H" E kacedapi.lib(acedstub.obj) : warning LNK4099: 未发现 PDB“corehdr.pdb
' V1 D5 C: N) V不用去管它,ObjectARX开发文档已经说明了这个问题的存在,不影响使用) ( V' p L# x" s2 c5 }6 l4 Z# v6 Q, j
6 Q. {' O* H+ s2 B3 ]& ^至此为止,我们已经生成了MarkDemo.arx,在Debug目录下可以找到,下面将继续介绍如何在( K' b/ z, a3 ^$ l* u( h2 R! D
AutoCAD2004菜单中自动加载Demo对话框 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|