用SHOWMODAL方式将窗体SHOW出来,FORM一定在最前面

解决方案 »

  1.   

    1. 使用 TForm 的属性 FormStyle=fsStayOnTop;
    2. 使用 Windows API 函数 SetWindowPos。
      

  2.   

    SetWindowPos(Form3.Handle,Hwnd_Topmost,0,0,0,0,(SWP_NOMOVE Or SWP_NOSIZE))
      

  3.   

    错错错,没看题目。可以用 BringWindowToTop 函数。
      

  4.   

    有个属性可以选StayOnTop,仔细找找
      

  5.   

    formstyl:=fsstayontop;
    form.update;
      

  6.   

    ****如何将一个窗口做成Always on top?****Const HWND_TOPMOST = -1
    Const HWND_NOTOPMOST = -2
    Const SWP_NOSIZE = &H1
    Const SWP_NOMOVE = &H2
    Const SWP_NOACTIVATE = &H10
    Const SWP_SHOWWINDOW = &H40
    Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)Private Sub Form_Load()
    SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
    End Sub
      

  7.   

    就用这个属性FormStyle=fsStayOnTop就可以了,不要用那么麻烦的
      

  8.   

    我在form上有panel运行图象
    所以form。styl这不行
    showmodel也不行
    我在api中查到
    SetForegroundWindow(
    hWnd: HWND {a handle to a window}
    ): BOOL;
    她的example是
    procedure TForm1.Button1Click(Sender: TObject);
    var
       TheWindow: HWND;
    begin
       {find a handle to the Windows Explorer window}
       TheWindow:=FindWindow('ExploreWClass',nil);   (1)   {bring it into the foreground}
       SetForegroundWindow(TheWindow);
    end;请问如何应用(1)?
    我要获得form3的hadel
    谢了
      

  9.   

    "ExploreWClass"应该是你的窗体实例的名称,如:你的窗体定义为:TMainForm = class(TForm),你的实例为:MainForm: TMainForm,则替换为"MainForm"
      

  10.   

    你们去扯看一下form控件的属性就知道了。
      

  11.   

    请问bringwindowtotop    在delphi中怎么用?
      

  12.   

    请问谁有所有winapi的函数?
    谢了