明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3283|回复: 9

请问如何将CAD作为VB的子窗口?

  [复制链接]
发表于 2009-9-3 17:04:00 | 显示全部楼层 |阅读模式
请问如何将CAD作为VB的子窗口?将CAD嵌套入VB,作为VB的一个子窗体。
发表于 2009-9-3 18:21:00 | 显示全部楼层

'/////autocad软件窗口能够出现在VB窗体中
Option Explicit

Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Private lHwnd As Long

Private Sub Form_Load()

    
     On Error GoTo ErrTrap
     Dim acadApp As Object
     Set acadApp = CreateObject("AutoCAD.Application")
     acadApp.Visible = True
     lHwnd = GetParent(GetParent(acadApp.Activedocument.hwnd))
     If lHwnd = 0 Then Exit Sub
     SetParent lHwnd, Form1.hwnd
     Exit Sub

    
ErrTrap:
     On Error GoTo 0
End Sub

Private Sub Form_Unload(Cancel As Integer)
     If lHwnd = 0 Then Exit Sub
     SetParent lHwnd, 0
End Sub

评分

参与人数 1威望 +2 收起 理由
兰州人 + 2 【好评】 Api应用一示例

查看全部评分

 楼主| 发表于 2009-9-3 21:58:00 | 显示全部楼层
楼上的方案非常好。高手就是高手。谢谢楼上的。再请问下,控制CAD窗口大小用什么命令呢?就是控制CAD窗口在VB界面里的大小,CAD窗口的大小随VB界面大小的改变而改变。
发表于 2009-9-4 16:12:00 | 显示全部楼层

Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

这个函数应该可以,自己研究吧

 楼主| 发表于 2009-9-4 23:21:00 | 显示全部楼层
谢谢“home”兄!!
发表于 2009-9-5 15:34:00 | 显示全部楼层

又学习到一招。

发表于 2009-9-8 03:38:00 | 显示全部楼层
有这种方法?我没不知道,过来学习一下
发表于 2009-9-17 23:49:00 | 显示全部楼层
控制CAD窗口大小用什么命令呢?就是控制CAD窗口在VB界面里的大小,CAD窗口的大小随VB界面大小的改变而改变
发表于 2009-12-9 20:01:00 | 显示全部楼层
挺不错的,请问如何能够使得cad窗体脱离vb界面呢
发表于 2014-2-27 16:57:51 | 显示全部楼层
高手,要好好学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 12:59 , Processed in 0.174689 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表