my_computer 发表于 2004-3-13 11:52:00

如果我已经得到了句柄又怎样???

在使用vb作的函数库中,如果我已经得到了我当前运行的acad的句柄,我又如何能将它转换为thisdrawng哪?


我现在只能直接将thisdrawing传入到vb中,大侠们你们怎么作的呀?

mccad 发表于 2004-3-13 17:31:00

可以通过图形的.HWND 属性来判断其对应关系。

my_computer 发表于 2004-3-14 16:47:00

其实过程是这样的:我使用vba作子程序,将子程序调好以后,将他们复制到vb的一个类模块中,因为在vb的环境中,没有thisdrawing所以子程序中不能含有thisdrawing。如果一定要使用他,可以作为参数传进来。可是由于子程序比较多,每次使用时都将他作为参数来传递,实在有点(!????)。所以我决定使用vb中的api函数直接得到当前正在运行的acad,但是好像仅能得到句柄(我api的水平,还在用别人的程序来改成我的程序的阶段)。我目前的做法是在引用我的自定义函数时,将thisdrawing传入类模块,在类模块中将其设定为全局变量。但是这种方法,仍然感觉有些不妥。

mccad 发表于 2004-3-14 17:38:00

用Public ThisDrawing As AcadDocument
Set ThisDrawing = App.ActiveDocument

my_computer 发表于 2004-3-15 16:53:00

to:mccad


你说的语句应该是写在vba程序里面的吧!?


如果在vba中应该是application.ActiveDocument


我的目的是要在vb里面得到thisdrawing

evaporated 发表于 2005-5-16 11:23:00

这个确实是写在vb里的。


对于文档级的事件,vba里反而不用写的。


你可以试试

fangjie008 发表于 2006-8-25 16:03:00

<input type=text name="star" value="asfdasdf">>
页: [1]
查看完整版本: 如果我已经得到了句柄又怎样???