通过一个事件想令一个窗体为最上层窗体:
procedure TFlshClckFrm.StayOnTopPMClick(Sender: TObject);
begin
  IF (Sender As TMenuItem).Checked Then
   Begin
     SetWindowPos(Self.Handle,HWND_TOPMOST,Self.Left,Self.Top,Self.Width,Self.Height,0)
     SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or       SWP_NOACTIVATE);
  End
  Else
  Begin
    SetWindowPos     (Self.Handle,HWND_NoTOPMOST,Self.Left,Self.Top,Self.Width,Self.Height,SWP_SHOWWINDOW)
  End;
end;
总不成功,只是本程序的最上层窗口;该窗体内的特殊处理事件有:
程序运行时:
begin
  Application.Initialize;
  SetAppFrmStyle_NoShowOnTaskBar(Application.Handle);
  Application.ShowMainForm:=False;
  Application.CreateForm(TDMFrm, DMFrm);
  Application.CreateForm(TMyClockFrm, MyClockFrm);
  FlshClckFrm:=TFlshClckFrm.Create(Application);
  FlshClckFrm.Show;
  Application.Title := 'Hu Sir''s Assistant!';
  Application.Run;
end.SetAppFrmStyle_NoShowOnTaskBar(Application.Handle):处理过程为:
Procedure SetAppFrmStyle_NoShowOnTaskBar(Wnd:THandle);
Var
  Style:DWord;
Begin
  IF Wnd=0 Then Exit;
  Style:=GetWindowLong(Wnd,GWL_EXSTYLE);
  Style:=Style And Not WS_EX_APPWINDOW Or WS_EX_TOOLWINDOW;
  SetWindowLong(Wnd,GWL_EXSTYLE,Style); 
End;窗体FlshClckFrm的OnCreate
begin
  Application.OnMessage:=PopMyMenuOnRightClick
  Self.BorderStyle:=BsNone;
End;
在窗体TFlshClckFrm内截获所有消息处理:
procedure TFlshClckFrm.PopMyMenuOnRightClick(var Msg: TMsg;
  Var Handled: Boolean);
Var
  sTmp:String;
begin
  IF (Msg.message=WM_RBUTTONDOWN) And (Msg.hwnd=MyFlashPlayer.Handle) Then
  Begin
    MainPM.Popup(Mouse.CursorPos.X,Mouse.CursorPos.Y);
    Handled:=True;
  End;  If (Msg.message=WM_LBUTTONDOWN) And (Msg.hwnd=MyFlashPlayer.Handle) Then
  Begin
     SendMessage (self.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
     Handled:=True;
  End;
end;其他没有特殊的处理了
请教不能令窗体FlshClckFrm成为最上层窗体的原因是什么?