![]() |
【转帖】[求助]在多窗体中怎么实现把cad的窗体做为一个子窗体显示
[求助]在多窗体中怎么实现把cad的窗体做为一个子窗体显示
www.dimcax.com [求助]在多窗体中怎么实现把cad的窗体做为一个子窗体显示 在多窗体中怎么实现把cad的窗体做为一个子窗体显示 求大哥大姐为小弟解答 用代码怎么实现?? 我也想知道这个问题,求好心人回答! 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 参考页面: [此贴子已经被作者于 |
所有的时间均为北京时间。 现在的时间是 11:39 PM. |