Objective Toolkit : Chapter 23 Layout Manager Framework : Issues with Resizable Windows
Issues with Resizable Windows
Whenever you create a dialog, formview, or property page with child window controls you need to decide what to do when the user tries to resize the window. You could forbid the resize event, but this leads to an awkward user interface. You could ignore the event, but this leads to an under utilized window with a disproportionate amount of extra space. You could even trap the size event and code your own custom layout logic. Unfortunately, you would need to devote a significant part of your schedule to creating a large amount of implementation specific code in order to do this. The code is also subject to change whenever you want to modify the window’s layout. In addition, if you want to achieve resolution independent positioning, even more work is required.
Objective Toolkit provides a powerful layout management framework that encapsulates all the details of laying out your child window controls so that you can concentrate on content rather than the mechanics of your user interface presentation.
Using the layout management framework, you do not need to create and maintain hard-coded pixel positions. Instead, you can create a layout that consists of a series of layout constraints that are easy to remember and change. Using a relative constraint-based layout algorithm guarantees that your window or dialog looks the same no matter what type of screen it is displayed on— be it a 640x480 laptop or a 1600x1200 workstation.