I'm impressed - here's somebody who knows how to translate general ideas
into formal terminology. I don't have a solution at hand but with what you
say, you should be able to figure it out. I'm not aware of any ready-made
windoze function to give you the "effective desktop client area after
accounting for taskbars", but that does not mean there is none. I'm not
really at home in the win ref manuals.

Just one more note: my wife has a toolbar on her computer that is nothing
but a small collection of buttons. Looks like it was invented before Win98
came along with it's quick-launch thingy. That is only around 10% of the
screen width and just one row of icons high.

Have fun,
Harald

-----Original Message-----
From: Glenn Linderman [mailto:[EMAIL PROTECTED]
Sent: Montag, 28. Mai 2001 12:40
To: perl-win32-gui-users@lists.sourceforge.net
Subject: Re: [perl-win32-gui-users] Taskbar & perl2exe -gui crash


By "more general", I was looking for "all toolbars that are docked to the
edge
of the screen".

I'm pretty much a Windows-idiot, although pretty good at programming generic
Perl, so I'm still stumbling over the Windows terminology.

So how do you tell if a windows is "topmost"?  Maybe "all toolbars that are
docked to the edge of the screen" is somewhat equivalent to "all topmost
windows
that abut an edge of the screen and are really long and thin" ???  Maybe
"abut
an edge" means within "0 to -5 pixels" of the edge ???  Maybe "really long"
in
that means at least 90% of the dimension of the srceen" ???  I'm not sure
how
some of those toolbars interact in the corners, to know if 90% is right, or
if
maybe one should find all the "topmost" windows that "abut an edge" and then
iterate several times looking for those that "cover 100% of the remaining
space"
???

How do non-perl programs do it?  How does "maximize" know how to  leave the
toolbars visible?  Is there a Windows call to figure that out?


"Piske, Harald" wrote:

> More general ... hm. What do you mean? All the topmost windows? I think
the
> problem is too varied for a general solution. If you don't know the class
> names of the windows you want to find the coordinates of, how do you know
> which ones to choose? Well, you might go and take all the windows that are
> topmost, but that includes error messages and the task manager and who
knows
> what else, so you might not find any space on the desktop for yourself.
>
> Maybe you want to have an ini-file stating the names of windows that may
be
> present and if they are, consider their boundaries. See below for a small
> loop to display all the classnames.
>
> $_ = $Main->GetWindow (GW_HWNDLAST);
> do {
>     print Win32::GUI::GetClassName ($_), "\n"
>         if Win32::GUI::IsVisible ($_);
> } while $_ = Win32::GUI::GetWindow ($_, GW_HWNDPREV);
>
> I have a demo-script at www.fairymails.com/perl/, alone.pl, which uses a
> loop like this not to get the names of windows, but simply hide them -
> including the task bar - to claim 100% of the desktop.
>
> -----Original Message-----
> From: Glenn Linderman [mailto:[EMAIL PROTECTED]
> Sent: Samstag, 26. Mai 2001 13:54
> To: perl-win32-gui-users@lists.sourceforge.net
> Subject: Re: [perl-win32-gui-users] Taskbar & perl2exe -gui crash
>
> Indeed, this works.  I've long wondered about a way to do it, and I've now
> incorporated this into my (only) Win32::GUI program.  I am planning to
write
> some more Win32::GUI programs soon.  It seems, though, that this solution
> isn't
> completely general.  While I don't personally use it anymore, I recall MS
> Office
> had an optional taskbar that could be docked similarly to the Windows
> taskbar.
> And some laptops have "power management toolbars".  etc.
>
> Does anyone know of a more general technique for avoiding all the
> toolbars/taskbars that might nibble away at the edges of the desktop?
>
> _______________________________________________
> Perl-Win32-GUI-Users mailing list
> Perl-Win32-GUI-Users@lists.sourceforge.net
> http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users

--
Glenn
=====
Due to the current economic situation, the light at the
end of the tunnel will be turned off until further notice.



_______________________________________________
Perl-Win32-GUI-Users mailing list
Perl-Win32-GUI-Users@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users

Reply via email to