如何使窗口在最前面,紧急!!!!(150分)

  • 主题发起人 主题发起人 xyf2001721
  • 开始时间 开始时间
X

xyf2001721

Unregistered / Unconfirmed
GUEST, unregistred user!
[red][/red]1:如何使窗口随时在最前面,而不只是创建时?<br>2:如何使主窗口最小化时,从窗口不最小化?
 
<br>&gt;1:<br>&nbsp; Form.FormStyle :=fsStayOnTop;
 
这个问题我问过了,你浪费了150块。<br>就是那句<br>Form.FormStyle :=fsStayOnTop;
 
api:setwindowpos
 
1.用Form.FormStyle :=fsStayOnTop;确保窗口在最上面<br>2.在从窗口中如下声明,那么主窗口最小化时不影响从窗口.<br>procedure CreateParams(var Params: TCreateParams);Override;<br><br>procedure TFrmShow.CreateParams(var Params: TCreateParams);<br>begin<br>&nbsp; inherited;<br>&nbsp; Params.WndParent := 0;<br>end;
 
to卷起千堆雪tyn<br>&nbsp; &nbsp; 此方法只是对同一个程序的窗口适用,对别的就不行了,有CreatePramas只能是创建时,<br>第二个问题呢?
 
Form.FormStyle :=fsStayOnTop;
 
1 <br>procedure SetWindowTopMost(WindowName:TForm; DoTopMost:Boolean);<br>begin<br>&nbsp; if DoTopMost then<br>&nbsp; &nbsp; SetWindowPos(WindowName.Handle,Hwnd_Topmost,0,0,0,0,(SWP_NOMOVE Or SWP_NOSIZE))<br>&nbsp; else<br>&nbsp; &nbsp; SetWindowPos(WindowName.Handle,Hwnd_Notopmost,0,0,0,0,(SWP_NOMOVE Or SWP_NOSIZE));<br>end;<br><br>2<br>&nbsp; 在主窗体最小化事件中加入:<br>&nbsp;Application.OnDeactivate:=SetactiveWindow(Handle); <br>&nbsp;其中Handle为子窗体对应句柄。
 
AHM内有一个控件,可以控制窗口内所有的东西。
 
BringWindowToTop(HWND hAppWnd)<br>SetWindowPos(AppWnd,HWND_TOP,0,0,0,0,SWP_NOSIZE)
 
多人接受答案了。
 
后退
顶部