mccad 发表于 2003-10-13 18:57:00

EFAN版主在前几贴中已经有这一段语句来获取ACAD的句柄:
lHwnd = GetParent(GetParent(acadApp.Activedocument.hwnd))
怎么会看了后边忘了前边。

topirol 发表于 2003-10-14 09:19:00

lHwnd = GetParent(GetParent(acadApp.Activedocument.hwnd))

是获得Activedocument的句柄,而不是CAD主窗口的句柄,把这个lHwnd 传给seticon函数,只能改cad文档(子窗口)的图标,而不能改cad主窗口的图标(所以就达不到我想要的效果),所有我才有那个提问的。

---虽然这个效果也没什么用途,但这是学习

efan2000 发表于 2003-10-14 12:24:00

不是吧,acadApp.Activedocument.hwnd是当前文档的句柄。使用GetParent获取其父窗口的句柄,也就是MDI的句柄。再使用一次,获取MDI父窗口的句柄,也就是应用程序的句柄。
如果是R2004,试一下直接使用acadApp.hwnd来设置图标。

topirol 发表于 2003-10-14 14:19:00

问题解决,谢谢

iwzw 发表于 2003-10-14 18:29:00

efan2000发表于2003-10-13 12:38:00static/image/common/back.gif前面有错,是修改SetWindowPos lHwnd, 0, Form1.ScaleLeft, Form1.ScaleTop, Form1.ScaleWidth, Form1.ScaleHeight, 0这一句。
隐藏窗口的标题需要另外的API函数。
下面的例子中acadhwnd代



为什么在win98下不可用?另外,隐藏后如何恢复?谢谢!

efan2000 发表于 2003-10-14 18:43:00

恢复可以使用的下面的方式:
   Dim L As Long
   L = GetWindowLong(acadhwnd, GWL_STYLE)
   L = L or WS_CAPTION)
   L = SetWindowLong(acadhwnd, GWL_STYLE, L)
在98下也是一样的原理,检查一下程序有没有错误。

iwzw 发表于 2003-10-14 21:21:00

程序没问题,我在两台win98的机器上试过,均不能隐藏cad窗口标题;xp下可以隐藏,但无法将vb窗口拖动放大和缩小。

ZKSJLL 发表于 2004-5-12 13:25:00

acadApp.Activedocument.hwnd不支持此属性,为之奈何?

randyhuang 发表于 2004-6-30 10:00:00

我也有同样的问题,望指点

tfyyf 发表于 2004-7-7 09:17:00

可加入后,不知如何控制CAD标题栏和菜单显示或不显示的方法。谢谢!
页: 1 2 3 [4] 5 6 7 8 9
查看完整版本: [讨论]如何令autocad软件窗口能够出现在VB窗体中?