> >
> > > Not sure if 2.0 handles this differently. This was done a while ago =20
> > > because popup menus would appear in the task list. To avoid changing =20
> > > the ABI we decided to change the behavior of borderless=20
> > > windows. Kind =20
> > > of a sour compromise that we could fix in a 1.2.
> >
> > It might have to be set at window creation time (or at least before you
> > first show the window) though, just to make it portable across o/s?
> >
> > What I imagine is some additional window flag you could set, that would
> > define whether the window appears in the window list or not... Might
> > only apply to bordeless windows, though? In which case, it could be an
> > additioanl parameter to set when making the window borderless...
> >
> >
> > SELEX Sensors and Airborne Systems Limited
> > Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex=
> >  SS14 3EL
> > A company registered in England & Wales.  Company no. 02426132
> > ********************************************************************
> > This email and any attachments are confidential to the intended
> > recipient and may also be privileged. If you are not the intended
> > recipient please delete it from your system and notify the sender.
> > You should not copy it or use it for any purpose nor disclose or
> > distribute its contents to any other person.
> > ********************************************************************
> >
>
> Well the application I am making will be supplied with static flags, and so 
> any changes I make to the libraries will be sent with the application.


Owen,

It looks like your running on some linux/gnome environment, so the following 
fix for windoze would not work, still there is probably a way to do the same 
thing on your platform.

Don.

// make borderless toplevel window show in taskbar with window menu
//
static void fix_borderless(Fl_Window *w)
{
  if(w->border()) return;

#ifdef _WIN32
# pragma warning ( push )
# pragma warning ( disable : 4244 )
# if (_MSC_VER < 1300)
#   define LONG_PTR LONG
#   define GetWindowLongPtr GetWindowLong
#   define SetWindowLongPtr SetWindowLong
# endif

  HWND wnd = fl_xid(w);
  if(!wnd)
  {
    Fl_Group *grp = Fl_Group::current();
    Fl_X::make(w);
    Fl_Group::current(grp);
    wnd = fl_xid(w);
  }

  LONG_PTR styleEx = GetWindowLongPtr(wnd, GWL_EXSTYLE);
  styleEx &= ~WS_EX_TOOLWINDOW;
  SetWindowLongPtr(wnd, GWL_EXSTYLE, styleEx);

  LONG_PTR style = GetWindowLongPtr(wnd, GWL_STYLE);
  style |= WS_SYSMENU;
  SetWindowLongPtr(wnd, GWL_STYLE, style);

# pragma warning ( pop )
#endif
}



_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to