代码之家  ›  专栏  ›  技术社区  ›  Dabblernl

当通过Tabstrip单击事件启动新表单时,首先单击在父表单上注册的

vb6
  •  1
  • Dabblernl  · 技术社区  · 15 年前

    Private Sub Tabstrip1_Click()
       Form2.Show vbModal, Me
    end sub
    

    窗体2只有一个关闭按钮。第一次在窗体2上单击鼠标没有可见的效果,除非窗体2位于调用窗体上,然后会出现一个错误,即不能显示两次模态窗体!因此,发生的情况是第一个mouseclick在父窗体上注册。我尝试了各种各样的解决方法(主要是通过Tabstrip1_gotfource),但如果不做一些非常复杂的事情,我就无法让它工作。

    有简单的解决办法吗?

    2 回复  |  直到 15 年前
        1
  •  4
  •   wqw    15 年前

    使用此代码修复特定情况下的鼠标捕获问题TabStrip控件显示

    Private Declare Function ReleaseCapture Lib "user32" () As Long
    
    Private Sub TabStrip1_Click()
        Call ReleaseCapture
        Form2.Show vbModal, Me
    End Sub
    
        2
  •  0
  •   gbr    10 年前

    问题描述如下: https://support.microsoft.com/en-us/kb/262441 .

    ReleaseCapture 在显示模态形式之前。




    旁白:


    “引入外部依赖项” ??? 根据我的经验,权威性的推荐并不是坏事,我认为这个链接对某些人是有用的。