老问题困扰:请问如何将窗体显示在最前端? ( 积分: 200 )

  • 主题发起人 主题发起人 slyr
  • 开始时间 开始时间
S

slyr

Unregistered / Unconfirmed
GUEST, unregistred user!
如题。<br>1、我的主窗体是个前端显示窗体,只在屏幕top显示一行信息;<br>2、在我的程序中要调用第三方软件,而这个软件占用了整个屏幕(包括任务栏),而我<br>的另一个窗体需要将信息显示在最上面,以便在这个第三方软件中操作是随时查看这个<br>信息窗体;<br>3、信息窗体属性是None且设置为fstopstyle,在程序运行时创建,creatform里加入了<br>“SetWindowsPos(Self.Handel, Hwnd_Topmost, 0, 0, 0, 0, (SWP_NOMOVE or SWP_<br>NOSIZE))”语句;<br>4、问题:在操作过程中,如果鼠标点击了这个信息窗口,则窗口再不能显示在第三方<br>程序的上面,也就参考不到信息了;<br> &nbsp; 这个问题困扰我几天了,很苦恼,解决不了,希望各位大侠指教。最好不要用到<br>控件,如果可以的话,请将源码发送到信箱: slyr@163.com<br> &nbsp; 先谢谢大家了。
 
如题。<br>1、我的主窗体是个前端显示窗体,只在屏幕top显示一行信息;<br>2、在我的程序中要调用第三方软件,而这个软件占用了整个屏幕(包括任务栏),而我<br>的另一个窗体需要将信息显示在最上面,以便在这个第三方软件中操作是随时查看这个<br>信息窗体;<br>3、信息窗体属性是None且设置为fstopstyle,在程序运行时创建,creatform里加入了<br>“SetWindowsPos(Self.Handel, Hwnd_Topmost, 0, 0, 0, 0, (SWP_NOMOVE or SWP_<br>NOSIZE))”语句;<br>4、问题:在操作过程中,如果鼠标点击了这个信息窗口,则窗口再不能显示在第三方<br>程序的上面,也就参考不到信息了;<br> &nbsp; 这个问题困扰我几天了,很苦恼,解决不了,希望各位大侠指教。最好不要用到<br>控件,如果可以的话,请将源码发送到信箱: slyr@163.com<br> &nbsp; 先谢谢大家了。
 
没有人回答啊:(
 
没人讨论啊,自己up
 
把窗体的FormStyle设为fsStayOnTop试试
 
我同意xiami01的观点,不过是否可以显示在第三方软件上,我不清楚.
 
除了把窗体的FormStyle设为fsStayOnTop以外<br>在窗体上放一个时钟控件里面写上 BringToFront;<br><br>procedure TForm1.Timer1Timer(Sender: TObject);<br>begin<br> &nbsp;BringToFront;<br>end;
 
也可以把 BringToFront; 放到一个线程里面,让他每隔很短的一段时间就执行!
 
我的窗体的FormStyle就是fsStayOnTop;<br>问题已经自己解决<br><br>还是要谢谢大家的支持,散分!<br><br> 
 
后退
顶部