Hi,

Am Samstag, den 03.12.2005, 18:15 +0100 schrieb Marc Weustink:
> Alexander Todorov wrote:
> > Hi,
> > 
> > I am writing a gui application that lets the user open images and
> > execute some image interpolation algorithms on them. This is for
> > educational purposes.
> > I want to make a window layout like Photoshop, e.g. different images
> > in different windows.
> > When the user selects action from the menu it is executed on the
> > currently selected image (form).

Hmm. And having stuff like the currently selected image window in the
not-currently-selected applicaton window possible? And the menu that
will apply stuff to it is somewhere else? (In the same window? No. At
some obvious place like the border of the screen? No. Thus: Bad idea.)

Plus, you have _multiple_ selected windows at a time with that. If you
do that, they should look different in order not to confuse them
(top-level and non-top-level window). It only gets worse down that
line :)

> > 
> > I have one main form with menu that defines different actions and
> > another form class that defines the image window. It is just for
> > showing images, no code there.
> > How to make multiple image forms to be shown and to be able to click
> > on the main menu ?
> 
> What you are looking for is MDI (multiple Document Interface) and that 
> is not supported by lazarus.

Please don't see me as just ranting without substance (you can ask me
for substance), but those are a bad idea. Think of what if you want to
move one of the images to a different screen, but keep another image of
the app on this one.

The initial mistake was doing away with the ONE menubar (... to rule
them all) at the top of each screen. (You had all the space available
there.. so _no need_ to start moving menubars into _different windows_
than what they affect just to get some more space for the menu items -
which, I suspect is the point here, I wonder?)

>From there it just went downwards to MDI stuff that everyone replaces
anyhow now (tabs, ... just about anything is more bearable than MDI -
I'm not saying tabs are good, just that they aren't as bad).

The only thing where I can bear it is in Vmware, and there it isn't
technically MDI but just the windows of some other operating system :)
even that I sometimes misclick.

cheers,
   Danny

> 
> > 
> > case 1 :
> >   F := TImageForm.Create(Self); // Self is The main form
> >  F.Show;
> > 
> > F is shown but when the user clicks somewhere on the main form it is hidden.
> > 
> > case 2 :
> >   F := TImageForm.Create(Self); // Self is The main form
> >   F.FormStyle := fsStayOnTop;
> >  F.Show;
> > 
> > Then F shows and is not hidden when you click somewhere else. The only
> > problem is that
> > other dialogs executed from the menu (OpenPicture / SavePicture /
> > InputQuery) are hidden below these image forms. (see attachment)
> > 
> > Can anyone give me a clue how to solve this problem ?
> 
> Since you have defined your windows as stay on top, they are topmost and 
>   dialogs will cover them. (unfortunately windows (where the VCL is 
> based on) has no window layers where you can tell which form belongs to 
> which layer)
> 
> The only option I see now is by using a SDI (single document interface). 
> So you menu/toolbar etc will be on one form and the images on separate 
> forms. (a bit like lazarus does)
> 
> Marc


_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to