On 21/05/11 20:29, Benoît Minisini wrote: >> On 21/05/11 20:02, Benoît Minisini wrote: >> >>>> My main form has a list view which allows the user to open a new form >>>> for each of the items when they double-click on a row, but if the detail >>>> form is already open then all I want to do is bring it to the "top". >>>> >>>> Achieving this is being fouled by: >>>> 1) is there a collection/list/whatever of all the windows that belong to >>>> the Application >>>> >>> Windows >>> >>> Pretty Obvious 8-) Ya know what I really hate, I was browsing the help >>> today and I saw this and thought "Hey, that may come in handy someday" >>> and then prompty forgot all about it. :-X >>> >> Moving forward, I'll just use the tag property to track the instance. >> Is there a better way? >> >> > 'Dunno why you need to "track" the instance. > > >>>> 2) when the user minimizes one of the detail windows, all the >>>> application windows are minimized >>>> >>> It depends on your Gambas version and the window manager you use. >>> >> This is a weekend project, (for Little Athletics). I'm trying to lower >> the benchmark as far as possible so we can use old laptops, so it's >> Openbox on gambas2 (Still waiting!). >> >> > In Gambas 2, the first opened window is the "main window". Minimizing it > minimizes all other windows. Closing it closes all other windows. In Gambas 3, > there is no automatic main window anymore. It is explicit. > > Regards, > > Well, I'm using this:
PUBLIC SUB ListView1_DblClick() DIM f1 AS Form DIM sTag AS String DIM sHandel AS Window sTag = ListView1.Key sHandel = FindWindow(sTag) IF NOT IsNull(sHandel) sHandel.Raise ELSE f1 = NEW FTest 'the actual form class of the detail window f1.Center f1.Tag = ListView1.Key f1.Show ENDIF END PRIVATE FUNCTION FindWindow(tag AS String) AS Window DIM w AS Window FOR EACH w IN Windows IF w.Tag = tag THEN RETURN w NEXT RETURN NULL END This seems to do the trick for (1) and pretty works at light speed. So all is good. Re (2) it's not when the user acts on the main window, it's when they minimise the secondary ("detail") windows. That seems to minimise all the application windows. I've tried various combinations of SkipTaskBar and Stacking properties but no luck. I may have to try and intercept the minimise button click somehow to see whats going on. bruce ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user