Hi,
I have a problem making my application forms "topmost". I have a 
costomer who wants them to be on top of all other windows 
applications.

I can't achieve it without getting extra buttons in the taskbar for 
all my forms.

This is how I do:
I make the forms "topmost" by overriding CreateParams:

procedure TMainForm.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  with Params do begin
    WndParent := GetDesktopwindow;
    ExStyle := ExStyle or WS_EX_TOPMOST;
  end;
end;

By setting WndParent := GetDesktopwindow I make it topmost of all 
windows on my computer, not only those in my application.

This works excellent except:
My application now suddenly has two buttons in the taskbar.
Obviously one button comes from the application window and the other 
from my MainForm.

But I only want one button for the whole application!

Also I have several other forms that are open at the same time as the 
MainForm and when I make them topmost in a similar way the also get 
one button each, which I don't want.

Anyone knowing how I can get rid of those extra taskbar buttons and 
still make my forms globally topmost?

I tried to make it a toolbar window, but cannot accept the thinner 
caption bar of this window type.

BR,
Lars Stahre

Reply via email to