Monday, March 12, 2012

Use ResizeEnable to Fit Non-Resizable Windows on Small Screens


In a short period of time since their appearance, an overwhelming number of low-cost but highly portable and efficient “mini-laptops” have become available on the market. Commonly known as netbooks, these devices offered reduced computing power when compared to a full-sized laptop, but the small form factor and light weight makes netbooks an ideal travelling partner.

One of the drawbacks of netbooks is their small screen size. A typical netbook comes with a screen measuring 10.1 inches diagonally at a resolution of 1024x600. Most programs and websites aren’t designed for low resolution, and as such, users often struggle with windows that doesn’t wholly fit inside the available screen space.

When software developers design the user interface of their programs they have to make sure that they fit inside the screen of the user’s monitor. Over the years the size of monitors and the resolution they are capable of displaying have grown in size, and so has the user-interface of software. A decade ago, screen resolutions of 800x600 was common. Today, nobody runs an 800x600 monitor and developers have stopped supporting them. You don’t have to look far to find such programs. Windows 7 is barely usable at 800x600 or 1024x600 – the netbook resolution. Most Windows 8 Metro apps don’t run under 1024x768, and to enable split screen you have to be running 1366x768 or larger.

For those stuck with small screens, ResizeEnable offers a useful but crude solution. Run the program and find a window that you could never resize and move the cursor over the edge of the window. Hopefully the pointer will change to one that shows you can resize the window. Click-and-drag the window to a new size and release the mouse button.

For example, the System Properties window under Windows 7 is non-resizable.


But using ResizeEnable we can resize it to fit smaller screens. Yes, it looks ugly and squeezed but at least the buttons at the bottom are now visible.


How does ResizeEnable work?

ResizeEnable sits in the background and attaches itself into Windows via three 'Hooks'.

The first hook is so that it can see which windows are created/destroyed, in which it attempts to alter the window's style so that it can be resized.

The second hook intercepts all messages for every single window to see if it is a message associated with resizing a window that it has previously altered the style of. If the message is associated with sizing, it then resizes all the child windows (Buttons, Edit boxes and so on) simply by scaling them to fit the new windows size. Its ugly, but most of the time it works ok.

The third hook spots whether the mouse has been pressed in the 'sizing area' of a window and takes care of doing all the work of resizing the window. This hook didn't exist in v1.0 but has been added to make even more windows resize properly.

Also read: 4 tools to get the most out of your screen real estate


Post a Comment

Popular Posts