Oh  Lars, what do you think about:
for i := 0 to ChildForms.Count - 1 do
  ShowWindow(ChildsForms[i].Handle, SW_MINIMIZE);

--
Vladimir Yushko
http://yarrowsoft.com/ applications for Outlook Express

----- Original Message -----
From: "lars_stahre" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, September 27, 2007 12:06 AM
Subject: [delphi-en] Solved: How can I make a form globally "topmost"
without having a taskbar button


> Many thanks Vladimir. That solved my task. Great!!!
>
> However, I have one more related problem left:
>
> My application may create several child forms in runtime. I want to
> make them topmost too.
> Setting WndParent:=0 displays a button for the child form which I
> don't want.
> Making the child form a ToolWindow causes a thinner caption bar which
> I don't want neither.
>
> By setting WndParent:=MainForm.Handle I can almost make it work, but
> the child forms do not minimize when the mainform is minimized.
>
> Is there any simple solution to this or do I have to iterate through
> the child windows in the WMSysCommand message handler and use
> ShowWindow() in a similar way as for the mainForm?
>
> BR,
> Lars
>
>
> --- In [email protected], "Vladimir Yushko" <[EMAIL PROTECTED]> wrote:
> >
> >  Hi,
> > You should override following methods:
> >
> >     procedure WMSysCommand(var Message: TWMSysCommand); message
> > WM_SYSCOMMAND;
> >
> > procedure TTaskForm.WMSysCommand(var Message: TWMSysCommand);
> > begin
> >   case (Message.cmdtype and $FFF0) of
> >     SC_MINIMIZE:
> >       begin
> >         ShowWindow(handle, SW_MINIMIZE);
> >         Message.result := 0;
> >       end;
> >     SC_RESTORE:
> >       begin
> >         ShowWindow(handle, SW_RESTORE);
> >         Message.result := 0;
> >       end;
> >   else
> >     inherited;
> >   end;
> > end;
> >
> > procedure TTaskForm.CreateParams(var Params: TCreateParams);
> > begin
> >   inherited CreateParams(Params);
> >   //Show a button for the main form
> >   with Params do begin
> >     ExStyle := ExStyle or WS_EX_APPWINDOW and not WS_EX_TOOLWINDOW;
> >     WndParent := 0;
> >   end;
> > end;
> >
> > procedure TTaskForm.DoClose(var Action: TCloseAction);
> > begin
> >   inherited;
> >   Action := caFree;
> > end;
> >
> > --
> > Vladimir Yushko
> > http://yarrowsoft.com/  solutions for Outlook Express
> >
> > ----- Original Message -----
> > From: "lars_stahre" <[EMAIL PROTECTED]>
> > To: <[email protected]>
> > Sent: Tuesday, September 25, 2007 1:37 AM
> > Subject: [delphi-en] Re: How can I make a form globally "topmost"
> without
> > having a taskbar button
> >
> >
> > > Hello my friends and thank you for your quick suggestions.
> > > My appologize for responding slowly. -I have been unavailable for
> > > some while.
> > >
> > > Vladimir - Your suggestions definitely makes the window topmost
> if I
> > > also set the desktop as the window owner (instead of the
> application).
> > > However, when I hide the extra button the button that is left
> still
> > > does not work properly. The maximize and minimize choices doesn't
> > > work.
> > > Does anyone know how to correct this?
> > >
> > > BR,
> > > Lars
> > >
> > >
> > >
> > > --- In [email protected], "Vladimir Yushko" <yahoo@>
> > > wrote:
> > > >
> > > >  Hi!
> > > > First hide the button created by Delphi for the Application:
> > > >
> > > >   ShowWindow(Application.Handle, SW_HIDE);
> > > >   SetWindowLong(Application.Handle, GWL_EXSTYLE,
> > > >     GetWindowLong(Application.Handle, GWL_EXSTYLE) or
> > > >     WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
> > > >   ShowWindow(Application.Handle, SW_SHOW);
> > > >
> > > > --
> > > > Vladimir Yushko
> > > > http://yarrowsoft.com/
> > > >
> > > > ---
> > > >
> > >
> > >
> > >
> > >
> > > -----------------------------------------------------
> > > Home page: http://groups.yahoo.com/group/delphi-en/
> > > To unsubscribe: [EMAIL PROTECTED]
> > > Yahoo! Groups Links
> > >
> > >
> > >
> > >
> > >
> >
>
>
>
>
> -----------------------------------------------------
> Home page: http://groups.yahoo.com/group/delphi-en/
> To unsubscribe: [EMAIL PROTECTED]
> Yahoo! Groups Links
>
>
>
>
>

Reply via email to