ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

DonationCoder.com Software > Post New Requests Here

IDEA: on-the-fly resizing of tiled windows in MDI

(1/1)

epaalx:
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.

mouser:
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:
unfortunately this probably isn't something that could be written as a generic tool that would work in 3rd party programs...-mouser (October 15, 2006, 09:07 PM)
--- End quote ---
I'd agree with you if it wasn't for Allsnap utility (https://www.donationcoder.com/forum/index.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.

epaalx:
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.
--- End quote ---

Navigation

[0] Message Index

Go to full version