lihengmin
发表于 2008-6-5 22:55:00
怎么样在把 标题显示出来呢?帮帮忙
chnxgd
发表于 2008-6-6 21:47:00
虽然我看得似懂非懂,但也收获不少,至少知道了vb可以调用ACAD,不知VBA可不可以。
linshucai
发表于 2008-7-2 10:51:00
可以查看VDRAW的帮助及事例
pyeye
发表于 2008-7-18 16:57:00
看了大家的讨论,受益匪浅!<div>在VB中经过测试,确实可以把autocad软件窗口作为子窗体显示在VB窗体中,但是在VB.net2005中,每次运行到SetParent(lHwnd, Form1.Handle)时,程序就自动关闭,没有任何提示。逐步调试时,发现前面的那些语句都可以很好的执行。</div><div>我的代码如下:</div><div>AcadApp = GetObject(, "AutoCAD.Application") '此时AutoCad已启动,直接得到<br/> lHwnd = GetParent(GetParent(AcadApp.Activedocument.hwnd))<br/> If lHwnd = 0 Then Exit Sub<br/> AcadApp.Visible = False<br/> AcadApp.WindowState = 2<br/> lState = AcadApp.WindowState<br/> GetWindowRect(lHwnd, r)<br/> SetParent(lHwnd, <strong>Me.Handle</strong>)<br/> 'Me.ScaleMode = vbPixels<br/> SetWindowPos(lHwnd, 0, 0, 0, Me.Width - 8, Me.Height - 8, 0)</div><div> AcadApp.Visible = True '使AutoCad可见<br/> acaddoc = AcadApp.Activedocument '设acaddoc为当前图形文件<br/> MyLayer = acaddoc.Layers<br/> mospace = acaddoc.ModelSpace '设mospace为当前图形文件的模型空间<br/>那个地方之所以用Me.Handle,是因为在VB.net中窗体已经没有了hwnd属性。<br/>查了很多资料,还是没找到原因,大家一起探讨一下这个问题呵!</div>
superyuanbo
发表于 2010-5-7 17:07:00
确实是精华帖,我从中学习了不少,大家都是高手
superyuanbo
发表于 2010-5-9 21:39:00
请问一下,怎样才能使镶嵌入vb窗体的cad不能由用户拖动来该表其大小,只能随vb窗体最大最小化
pmq
发表于 2010-5-30 22:02:00
本帖最后由 作者 于 2010-6-2 19:05:14 编辑 <br /><br /> <p>VB 开发CAD </p>
<p>下载地址:<font face="Verdana">http://pmq.ys168.com/</font></p>
<p><img src="http://home.hxland.com/attachment/201006/2/10143836_1275476636XU3l.jpg"/></p>
<p><font face="Verdana"></font> </p>
ningyong58
发表于 2010-6-1 08:05:00
efan2000发表于2003-10-8 19:10:00static/image/common/back.gif以下内容为程序代码:
Option Explicit Private Declare Function SetParent Lib \"user32\" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long Private Declare Funct
<p>这是绝对的正解.</p></td></tr>
<tr style="DISPLAY: none">
<td id="copycode37305"></td></tr></tbody></table>SetParent第一个参数是子窗口的句柄,现在设为ACAD的句柄了,第二个参数是父窗口的句柄,现在设为VB窗体的句柄。恢复设置父窗口的句柄为0。也就是重新指定屏幕为其的父窗口。
<div align="right"><font color="#000066">[此贴子已经被作者于2003-10-11 21:06:30编辑过]</font></div></div>
<p></p>
slw7310
发表于 2012-5-8 09:14:53
我试着用了,窗口正常,引用正常。有个问题------如果在这种情况下使用有vb.net生成的.DLL加载到CAD中,无论使用哪一种方法(netload,Lisp,ARX, 修改注册表自动加载,手动加载)加载,都无效。.DLL中注册的命令都无效,CAD提示“未注册命令####”。
能否楼主分析一下。盼望能解决这一难题啊!!
Beatawonderful
发表于 2012-5-11 10:34:42
efan2000 发表于 2003-10-11 22:02 static/image/common/back.gif
重新修改了一下,支持VB的窗体缩放时ACAD的窗口自动跟随缩放。
efan2000,您好!为什么我把您的程序复制到VB里面,运行没反应啊?请您赐教,非常感谢! 第1页“地板”这一楼的程序倒是可以实现功能!