Forma zawsze na wierzchu - Kod użytkownika Misiekd

0

Znalazłem taki oto prosty działający kod na to aby forma była zawsze na wierzchu. Kod podał Misiekd

  public
    procedure CreateParams(var Params: TCreateParams); override;
  end;
 
...
 
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
  Params.WndParent := GetDesktopWindow;
end;

Czy istnieje jakiś prosty sposób na to aby forma była zawsze na wierzchu a przykrywana mogła być tylko przez wyskakujące okienka typu MessageBox czy Showmessage? Czy jedyną opcją jest wykrycie wyjątku i ustawienie z powrotem formy na normalny tryb a po obsłudze wyjątku z powrotem ustawić na najwyższy priorytet?

0

to coś Ci się pomieszało bo to nie ustawia formy na zawsze na wierzchu ale pokazuje drugą formatkę na pasku zadań, tak że aplikacja ma więcej niż jedną formę na pasku zadań widoczną

0

OnTop:

 
SetWindowPos(Forma.Handle, HWND_TOPMOST, Forma.Left, Forma.Top, Forma.Width, Forma.Height, 0);

wyłączenie:

 
SetWindowPos(Forma.Handle, HWND_NOTOPMOST, Forma.Left, Forma.Top, Forma.Width, Forma.Height, 0);
0

Oto link

Forma 2 zawsze na wierzchu?

Misiekd Nieważne jaki program inny włączymy to zawsze forma z tym kodem będzie na wierzchu, chodzi o to żeby była zawsze na wierzchu a to co podaliście to ustawia formą zawsze na wierzchu ale w programie który piszę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1