thankyou 发表于 2003-2-25 16:27:00

请教:VB与AutoCAD

本帖最后由 作者 于 2003-2-25 16:27:23 编辑

VB的窗体都是非模态的,能不能在操作其他窗体时,VB的窗体不会隐藏,就象ACAD中的非模态窗体一样。

efan2000 发表于 2003-2-25 18:59:00

R2002以上版本自动支持。

R2002以上版本自动支持,在R14或者R2000中,可以到晓东CAD空间的下载中心中下载一个ARX程序,它支持停靠和浮动的VB自定义控件。

thankyou 发表于 2003-2-26 14:25:00

VB与AutoCAD

谢谢efan2000为我解决很多问题,我的意思是:针对CAD-VB编的程序窗体在操作CAD时,不被隐藏。

smtmobly 发表于 2003-2-26 14:32:00

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

mccad 发表于 2003-2-26 18:53:00

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

thankyou 发表于 2003-2-27 14:05:00

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

mccad 发表于 2003-2-27 20:01:00

实际上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

thankyou 发表于 2003-3-2 10:10:00

谢谢版主!

lcad 发表于 2003-3-18 16:09:00

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

页: [1]
查看完整版本: 请教:VB与AutoCAD