最上层窗口?(50分)

  • 主题发起人 主题发起人 penga
  • 开始时间 开始时间
P

penga

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使一个普通窗口动态改变成最上层窗口,使用FromStyle:=fsStayOnTop有闪烁感,而且会使窗口原有的一些功能消失,例如拖放功能等。
 
你用setfocus试试
 
用api:<br>&nbsp;SetWindowPos(handle,HWND_TOPMOST,0,0,0,0,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
 
使用windows api语句:<br>事例如下,你把它放在YourForm的onshow事件中.特别管用!!!!<br><br>procedure TYourForm.FormShow(Sender: TObject);<br>begin<br>&nbsp; SetWindowPos(YourForm.Handle,Hwnd_Topmost,0,0,0,0,(SWP_NOMOVE Or <br>SWP_NOSIZE));<br>end;<br><br>
 
setforegroundwindw(handle);
 
bringwindowtotop(handle)<br>setactivewindow(handle)<br>也是可以的:-)
 
用windows API函数,<br>SetWindowPos(handle,HWND_TOPMOST,0,0,0,0,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE<br><br>Vb中也是这样用
 
多人接受答案了。
 
后退
顶部