明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2257|回复: 8

请教:VB与AutoCAD

[复制链接]
发表于 2003-2-25 16:27 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2003-2-25 16:27:23 编辑

VB的窗体都是非模态的,能不能在操作其他窗体时,VB的窗体不会隐藏,就象ACAD中的非模态窗体一样。
发表于 2003-2-25 18:59 | 显示全部楼层

R2002以上版本自动支持。

R2002以上版本自动支持,在R14或者R2000中,可以到晓东CAD空间的下载中心中下载一个ARX程序,它支持停靠和浮动的VB自定义控件。
 楼主| 发表于 2003-2-26 14:25 | 显示全部楼层

VB与AutoCAD

谢谢efan2000为我解决很多问题,我的意思是:针对CAD-VB编的程序窗体在操作CAD时,不被隐藏。
发表于 2003-2-26 14:32 | 显示全部楼层

大家好!我正在看cad-vb但是又谁告诉我此vb与vb语言有什么区别!

发表于 2003-2-26 18:53 | 显示全部楼层

那就要想办法将窗口设为“总在最前面”了

 楼主| 发表于 2003-2-27 14:05 | 显示全部楼层

请问斑竹:怎样设置为好?

发表于 2003-2-27 20:01 | 显示全部楼层

实际上Always On Top是借助Windows API的SetWindowPos实现的

1、首先应该把以下声明放再窗体的声明部分:
    Const SWP_NOSIZE = &H1
    Const SWP_NOMOVE = &H2
    Const SWP_NOACTIVATE = &H10
    Const HWND_TOPMOST = -1
    Const HWND_NOTOPMOST = -2
    Const SWP_SHOWWINDOW = &H40
    Private Declare Function SetWindowPos Lib _
     "user32" Alias "SetWindowPos" (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

    2.使窗口Always On Top时,可以用下面的语句:
    SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
     SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE _
    Or SWP_NOSIZE
   
    3.使窗口取消Always On Top功能,用下面的语句:
    SetWindowPos hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, _
     SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE _
    Or SWP_NOSIZE
 楼主| 发表于 2003-3-2 10:10 | 显示全部楼层

谢谢版主!

发表于 2003-3-18 16:09 | 显示全部楼层

如果我不希望它“总在最前面”,而是只在Autocad上面,又该怎么办呢?

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

本版积分规则

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

GMT+8, 2024-5-4 15:57 , Processed in 0.196276 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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