This reply is quite long and is really only of interest if you are developing applications to run under Windows. If that is not the case you may want to pass on to another topic. But if you do develop applications for Windows you may find some use in the following.
The issue that I faced was correctly diagnosed as the need to make my application DPI aware. Using a small test application I followed the instructions set out in the Wiki article “High DPI' and this resulted in an immediate improvement in the display of its two forms across the entire range of DPI settings (96 ppi, 120 ppi and 144 ppi). However, I found that there were some matters that still needed to be addressed :
- It is no doubt obvious, but it is not explicitly stated in the Wiki article, that the unit uScaleDPI must be declared in the uses clause of each of the application's forms.
- The autosize property of all forms and all visible components on a form needs to be set to false.
- If the height of any form is dynamically adjusted at run time, a different height value needs to be specified for each DPI setting.
- Similarly, if the height of any visible component (for example a panel) is dynamically set at run time, a different height value needs to be specified for each DPI setting.
- If a form has a main menu, the right side of the rightmost menu item should not extend further to the right on the form than all of the other visible components. If this is not observed the enlarged menu text used at higher DPI settings will cause the menu items to double-bank into two (or more) rows and that will very likely result in some components at the bottom of the form disappearing out of view.
Another matter noticed was what seems to be an annoying bug in Windows. It certainly is present in Windows 7. For all I know it may also be present in other versions of Windows. The bug is that whenever one moves from a larger DPI setting to a smaller one, the font size used for menu items and other text objects is excessively reduced. For example after reducing from 144ppi to 96ppi you may find menu items, etc in your web browser window displayed at font size 6 whereas they should normally be displayed at font size 9. With trial and error I eventually found that the solution to this problem was to use the Personalisation settings accessed from the Windows Control Panel. Selecting either the default Windows theme or your previously saved personal theme reinstates the proper font size.
My thanks again for the very helpful advice received.