amberilee 发表于 2004-4-23 23:51:00

[VBA]用vba做的窗体如何才能cad的窗体切换激活?

简单的说就是能像“特性”窗体那样能与cad窗体切换作为活动窗体,而无需关闭。比如某一窗体打开并运行时还能画图。


试了vbmodal,不行。

雪山飞狐_lzh 发表于 2004-4-23 23:56:00

frm.Show 0<BR>

amberilee 发表于 2004-4-24 00:04:00

没这么简单,呵呵。


如果窗体无模式显示,当我想对窗体操作比如写数据时很困难,因为窗体得不到焦点。

雪山飞狐_lzh 发表于 2004-4-24 13:43:00

做两个按钮让用户自己切换


Private Sub CommandButton1_Click()<BR>Me.Hide<BR>Me.Show 1<BR>End Sub<BR>Private Sub CommandButton2_Click()<BR>Me.Hide<BR>Me.Show 0<BR>End Sub<BR>

mccad 发表于 2004-4-27 22:31:00

可以利用鼠标的位置来确定是否切换显示模式,但要求鼠标的移动速度不能太快,以下是窗体的代码部分,试试看:Dim i As Boolean
Private Sub CommandButton1_Click()
       Me.Hide
End Sub Private Sub UserForm_Initialize()
       i = True
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'Debug.Print X & "," & Y
If (X < 5 Or Y < 5 Or X > Me.Width - 15 Or Y > Me.Height - 25) Then
       If i = True Then
               i = False
               Me.StartUpPosition = 3
               Me.Hide
               Me.Show 0
       End If
Else
       If i = False Then
               i = True
               Me.StartUpPosition = 3
               Me.Hide
               Me.Show 1
       End If
End If
End Sub

amberilee 发表于 2004-5-11 19:00:00

谢谢斑竹!!太感激了!


       


BTW:我觉得startupposition没有用的说

czbming 发表于 2004-5-12 09:26:00

AUTOCAD 自带一个AcFocusCtrl控件,只要将其放在窗体上.然后form.show 0就能实现无模式显示.不需要编程!~

czbming 发表于 2004-5-12 11:04:00

补充一点:当窗体无模式显示时,需要点击autocad一下才能进行画图等操作.我们可以利用api函数来实现.Declare Function SetFocusAPI&amp; Lib "user32" Alias "SetFocus" (ByVal hwnd As Long)

wyj7485 发表于 2004-12-27 09:22:00

本帖最后由 作者 于 2004-12-27 9:52:44 编辑 <br /><br /> czbming发表于2004-5-12 11:04:00static/image/common/back.gif补充一点:当窗体无模式显示时,需要点击autocad一下才能进行画图等操作.我们可以利用api函数来实现.Declare Function SetFocusAPI&amp; Lib \"user32\" Alias \"SetF...


<BR>请问具体怎么操作啊。我对api不熟。



我已经试出来了:


在模块下加入:


Declare Function SetFocusAPI&amp; Lib "user32" Alias "SetFocus" (ByVal hwnd As Long)


在窗体的MouseMove事件下加入:


Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)<BR>SetFocusAPI ThisDrawing.hwnd<BR>End Sub



<BR>

zfbj 发表于 2005-1-3 20:23:00

使用AcFocusCtrl控件有时会导致AutoCAD异常退出…
页: [1] 2
查看完整版本: [VBA]用vba做的窗体如何才能cad的窗体切换激活?