AcadMenuGroup是什么?
我想在cad的右键菜单中加入一菜单选项,来响应自己编写的程序。我在帮助项里只找到了vba的例程, 如何把vb编写的程序改为vc的形式??
(谈谈您的见解:如何将vb的代码改写成vc的?二者主要在哪些方面会有不同?)
比如: vb: Dim currMenuGroup As AcadMenuGroup 这样定义变量
而对 vc,若用 AcadMenuGroup currMenuGroup; 形式定义上例变量,两者是否等价?
vc编写的程序中需包含的头文件从哪里可以查找到?
////////////Creating a new popup menu//////////////////////////////////////////////
This example creates a new popup menu called "TestMenu" in the first menu group of the MenuGroups collection.
Sub Ch6_CreateMenu()
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
' Create the new menu
Dim newMenu As AcadPopupMenu
Set newMenu = currMenuGroup.Menus.Add("TestMenu")
End Sub AcadMenuGroup所代表的是AcadMenuGroups的一个弹出菜单。
上面的代码可以参考一下下面的代码:
CMenu *currMenuGroup=CreatMenu();
//
//如果掉入自己的资源菜单可以用下面的菜单
//currMenuGroup->Loadmenu(YouMenuTempId);
//YouMenuTempId表示你的菜单资源的ID
//如果要得到CAD的系统菜单,可用如下命令
//CMDIFrameWnd* acedGetAcadFrame();
currMenuGroup=acedGetAcadFrame()->getmenu();
Cmenu *newMenu =currMenuGroup->append(...........);//后面的代码同上。
//此段代码要注意,CMDIFrameWnd* acedGetAcadFrame();为接口。在rxmfcapi.h中。 //如果要得到CAD的系统菜单,可用如下命令
//CMDIFrameWnd* acedGetAcadFrame();
currMenuGroup=acedGetAcadFrame()->getmenu();
非常感谢您无私的帮助。
/如果要得到CAD的右键快捷弹出式菜单,该用什么命令?
这些东西在哪些资料里能找到?!!! 黄毛丫丫,有两种方法:
1、你可以可以参考《contextmenu》方面的书,。在安装目录下有个例子,你可以运行一下(例子的目录好象是:objectarx\samples\mfcsamps\contextmenu)。
2、可以利用REACTOR来进行或者时间来进行右键弹出菜单。
其实,你只要多看例子,你就可以最大限度的熟悉ARX和抄代码,真正的事半功倍。 真的非常感谢您!
我有点感觉了!我会慢慢地、一点点地看过去的。
若能得到你们的及时指导和热心帮助,我相信:我真的会事半功倍的!!! 你是在搞二次开发的!还是学习 哦。我是搞autocad二次开发的,主要是搞公差那部分的,目的在于推广几何产品规范(英文简称为GPS)国际标准,GPS对象是公差、尺寸之类的要素,换句话说,GPS在制造业中的作用就同uml在软件开发中的作用,一种架构的理念、概念性的东西。如同砌房,仅告诉我们砌不同的房,就有不同的房子结构,以致产生不同的功效(比如隔音,夏凉冬暖等);而没有详述如何搭建房子的细节问题。
打算选中某个实体,比如直线度公差,在cad菜单中选中新增菜单项“GPS标准”选项,需
弹出一对话框,提供这个实体的“测量仪器”,“测量方法”等以供选择,选择项内容
由数据库提供,
(数据库用vc的ado组件做成dll形式,arx调用此dll文件。)
我学arx才2周,还请您多多执教!现在我心中更多的是想法,还不知可不可行?给点意见,如何?呵呵! dear lilin,
我在调试objectarx\samples\mfcsamps\contextmenu程序时,没能看到dsw文件,只看见了好多cpp文件,于是我在vc下新建了dll工程,然后将contextmenu目录下的这些.h和.cpp和.rc和.rc2拷到了新建的目录下,该替换的我已替换掉,但我在rebuild all时,出现了一个错误:
arxmfctmpl.cpp(14):error c2065:'arxMFCDLL':undeclared indentifier
arxMFCDLL在哪里定义阿?怎么定义阿?
我查看了帮助项,只见
AC_IMPLEMENT_EXTENSION_MODULE(the ArxDLL)
这一句,
不同于例程中报错指向的那句:
AFX_IMPLEMENT_EXTENSION_MODULE arxMFCDLL; sorry
问了一个白痴问题
打开dsp的文件,就ok了
delete please
谢谢lilin,这个程序contextmenu正是我所想要的,选中不同的实体,
右键菜单中添加不同的菜单项,衷心谢谢您的帮助!
我现在最需要的是在细心认真的前提下调试程序并读懂代码,免得
增添大家的麻烦。 其实没什么的了,我也是搞二次开发的,今年刚好毕业,以前是搞PB和纯C++的,我还是有很多问题的。在学习的过程中,我得到了开发室的许多“前辈”的指导。其实在现在的软件行业,最重要的不是知识,而是你学习的虔诚度。软件行业的门口很底,相应的上门梁也很底,所以,欲进此门,必须先弯腰。正因为如此,我才能得到许多人的帮助。这是我在一篇什么文章上看到的,希望对你有好处。
在学习过程中,ADS ARX提供的大量源代码,几乎能解答我们所有的遇到的问题。还有,在应用MFC时,千万不要自己用纯的MFC,而是要从ADUI和ACUI接口来调用。例如我曾经做了一个DOCKING 窗口,不论如何移动,DOCK的位置就是不对,但是引用了接口以后,横顺利的就解决了,并且代码少了很多。
很高兴认识你的!因为我学的是土木专业和计算机专业,所以对GPS了解的相对多一点。希望在以后能多交流
(前些天,单位服务器坏了,不好意思的!)
。