明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索

[讨论]如何令autocad软件窗口能够出现在VB窗体中?

  [复制链接]
发表于 2003-10-13 18:57:00 | 显示全部楼层
EFAN版主在前几贴中已经有这一段语句来获取ACAD的句柄:
lHwnd = GetParent(GetParent(acadApp.Activedocument.hwnd))
怎么会看了后边忘了前边。
发表于 2003-10-14 09:19:00 | 显示全部楼层
lHwnd = GetParent(GetParent(acadApp.Activedocument.hwnd))

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

---虽然这个效果也没什么用途,但这是学习
发表于 2003-10-14 12:24:00 | 显示全部楼层
不是吧,acadApp.Activedocument.hwnd是当前文档的句柄。使用GetParent获取其父窗口的句柄,也就是MDI的句柄。再使用一次,获取MDI父窗口的句柄,也就是应用程序的句柄。
如果是R2004,试一下直接使用acadApp.hwnd来设置图标。
发表于 2003-10-14 14:19:00 | 显示全部楼层
问题解决,谢谢
发表于 2003-10-14 18:29:00 | 显示全部楼层
efan2000发表于2003-10-13 12:38:00前面有错,是修改SetWindowPos lHwnd, 0, Form1.ScaleLeft, Form1.ScaleTop, Form1.ScaleWidth, Form1.ScaleHeight, 0这一句。
隐藏窗口的标题需要另外的API函数。
下面的例子中acadhwnd代



为什么在win98下不可用?另外,隐藏后如何恢复?谢谢!
发表于 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下也是一样的原理,检查一下程序有没有错误。
发表于 2003-10-14 21:21:00 | 显示全部楼层
程序没问题,我在两台win98的机器上试过,均不能隐藏cad窗口标题;xp下可以隐藏,但无法将vb窗口拖动放大和缩小。
发表于 2004-5-12 13:25:00 | 显示全部楼层
acadApp.Activedocument.hwnd不支持此属性,为之奈何?
发表于 2004-6-30 10:00:00 | 显示全部楼层
我也有同样的问题,望指点
发表于 2004-7-7 09:17:00 | 显示全部楼层
可加入后,不知如何控制CAD标题栏和菜单显示或不显示的方法。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 07:02 , Processed in 0.238792 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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