topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday March 29, 2024, 12:27 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: IDEA: on-the-fly resizing of tiled windows in MDI  (Read 4810 times)

epaalx

  • Participant
  • Joined in 2006
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
IDEA: on-the-fly resizing of tiled windows in MDI
« on: October 13, 2006, 03:11 AM »
My first request, ever....

When I'm editing many files in UltraEdit I usually have them tiled so that I can utilise the whole of the MDI.
However, if I wish to resize one of them, then I'm forced into resizing all the other ones manually to accomodate the dimensions of the resized one. I would like this to be automatic.

In the attachments you can see what I want...  Before: I have three files open, currently occupying all the space in the MDI window. After: I resize the lower window and the other two get automatically resized too re-occupying all the space in the MDI window.
« Last Edit: October 13, 2006, 08:09 AM by epaalx »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: IDEA: on-the-fly resizing of tiled windows in MDI
« Reply #1 on: October 15, 2006, 09:07 PM »
unfortunately this probably isn't something that could be written as a generic tool that would work in 3rd party programs, but i do agree with you that this should be something that MDI interfaces would be wise to implement, much the way modern docking systems are starting to work.

epaalx

  • Participant
  • Joined in 2006
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
Re: IDEA: on-the-fly resizing of tiled windows in MDI
« Reply #2 on: October 15, 2006, 10:53 PM »
unfortunately this probably isn't something that could be written as a generic tool that would work in 3rd party programs...
I'd agree with you if it wasn't for Allsnap utility (https://www.donation...dex.php?topic=2455.0) which has an option in the Properties called Snap MDI windows, which indicates that it is possible to know the MDI window locations.
Given that all programs seem to offer the same style of MDI functions, my guess is that they all use same MDI API.
« Last Edit: October 15, 2006, 10:56 PM by epaalx »

epaalx

  • Participant
  • Joined in 2006
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
Re: IDEA: on-the-fly resizing of tiled windows in MDI
« Reply #3 on: October 17, 2006, 08:29 PM »
In fact a similar application does pretty much this already, called UEPos (http://www.pallium.com/uepos.php)... except that it rebuilds the MDI using static values.
Here's the quote of how he does it for UE...

How Does UEPos Work?
(This technical description is only for the curious. Others may safely ignore. )
UEPos locates the UltraEdit-32 frame (outer) window by name. It looks for a window named "UltraEdit-32 - " in the top
level window list. Yes, it can be fooled by windows that are not actually UltraEdit's but the extra " - " at the end reduces
this risk. Also, if there are no documents open, UltraEdit's frame window title lacks the trailing dash, so UEPos simply
does nothing if UltraEdit doesn't have an active document.
Once the UltraEdit-32 frame window is found, UEPos searches the frame window's children for a child window of the window class "MDIClient", which is the parent of MDI document windows in the Microsoft Windows operating system.
Once the MDIClient window is located, it is sent a message to report its "active child" window. That's the document window that UEPos manipulates.
Finally UEPos uses the command line options to calculate a new screen rectangle for the window, validates it, then applies it to the window with the Windows API call SetWindowPos.
« Last Edit: October 17, 2006, 08:32 PM by epaalx »