明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1721|回复: 2

[求助]在多窗体中怎么实现把cad的窗体做为一个子窗体显示

[复制链接]
发表于 2008-5-8 08:34 | 显示全部楼层 |阅读模式

在多窗体中怎么实现把cad的窗体做为一个子窗体显示

求大哥大姐为小弟解答

用代码怎么实现??

发表于 2008-7-18 16:45 | 显示全部楼层
我也想知道这个问题,求好心人回答!
 楼主| 发表于 2008-8-14 15:00 | 显示全部楼层
本帖最后由 作者 于 2008-8-14 15:02:13 编辑

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 Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private 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) As Long

Private Type RECT
     Left As Long
     Top As Long
     Right As Long
     Bottom As Long
End Type

Private acadApp As Object
Private lHwnd As Long '保存ACAD应用程序的窗口句柄
Private lState As Long '保存ACAD的初始窗口状态
Private r As RECT '保存ACAD的初始窗口位置

Private Sub Form_Load()

    
     On Error GoTo ErrTrap
     Set acadApp = GetObject(, "AutoCAD.Application")
     acadApp.Visible = True
     lHwnd = GetParent(GetParent(acadApp.Activedocument.hwnd))
     If lHwnd = 0 Then Exit Sub
     lState = acadApp.WindowState
     acadApp.WindowState = 1 '设置ACAD的窗口状态为默认,用于保存窗口位置。
     GetWindowRect lHwnd, r
     SetParent lHwnd, Form1.hwnd
     Form1.ScaleMode = vbPixels '将VB窗体默认的缇单位改为以像素为单位。
     SetWindowPos lHwnd, 0, Form1.ScaleLeft, Form1.ScaleTop, Form1.ScaleWidth, Form1.ScaleHeight, 0
     Exit Sub

    
ErrTrap:
     On Error GoTo 0
End Sub

Private Sub Form_Resize()
     SetWindowPos lHwnd, 0, Form1.ScaleLeft, Form1.ScaleTop, Form1.ScaleWidth, Form1.ScaleHeight, 0
End Sub

Private Sub Form_Unload(Cancel As Integer)
     If lHwnd = 0 Then Exit Sub
     SetParent lHwnd, 0
     SetWindowPos lHwnd, 0, r.Left, r.Top, r.Right - r.Left, r.Bottom - r.Top, 0
     acadApp.WindowState = lState
     Set acadApp = Nothing
End Sub

参考页面: http://www.mjtd.com/bbs/Archive_view.asp?boardID=4&ID=10991

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-22 10:31 , Processed in 0.264720 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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