【求助】 一个窗口显示问题
<p><font face="Verdana">请教一个问题<br/>这是我在我一个DLL里面的一个过程。<br/>主要用它调用BTL窗口。<br/>Public Sub Showbtl()<br/> Set BTL.Application = M_OApp<br/> BTL.Show vbModal <br/>End Sub</font></p><p><font face="Verdana">BTL 中有一个按钮,功能是在另一个程序上面选择一个数据后,再显示BTL窗口。<br/> 但是不知为什么, BTL.Show这一步不能很好的运行。也就是这个窗口显示了一下,<br/>马上就关闭了。如下代码:<br/> Me.Hide<br/> TM.Text = GetText(AcadDoc)<br/> BTL.Show</font></p>
<p> </p>
<p>如果把代码 改成BTL.Show 1可以显示,但是就定住了。什么都不能动了.</p> <p>不使用vbModal参数时,为无模式窗体;如果在执行了SHOW后,又在哪个地方将窗体卸载或隐藏了,当然就是"闪一下就没了".</p>
<p> </p>
<p>使用vbModal参数时,为模式窗体,会在SHOW方法处暂停向下执行,直到当前窗体隐藏或卸载为止.</p>
<p> </p>
<p>这是你代码的逻辑问题,需要你自己调试与跟踪.</p>
<p> </p>
<p>注意一下其它地方卸载或隐藏窗体的语句,下断点来跟踪.</p> <p>这个就是你的代码逻辑问题</p>
<p> </p>
<p>调试是很重要的一环</p> <p> 但是我不知为什么它会定住,什么按钮都不能动。就是这一步</p>
<p> Me.Hide<br/> TM.Text = GetText(AcadDoc)<br/> BTL.Show vbModal </p>
<p>如果不要vbModal 就一闪就没有了。请指点!!</p> <p> 哈哈!!可以了,原来是我代码中有一个设置自己父窗口的功能,操作后没有释放的原因。</p>
<p><font face="Verdana">SetParent</font> 窗体自身句柄, 新父窗体句柄</p>
<p>然后要用 <font face="Verdana">SetParent</font> 窗体自身句柄, 0 的方式释放窗体自身。</p>
页:
[1]