Validation of RC files in Visual Studio
February 16th, 2016 - Tuesday
The RC Text Bounds Checker is an open source command line tool that helps you build an application UI which will look good on any screen size, no matter its DPI settings.
The tool can check if any static text block (single or multi line) from a Visual Studio resource file (RC) does not fit its given rectangle size. In the application GUI the text will appear as truncated if the text block is too small.
A dialog created with Visual Studio resource editor usually looks fine on standard DPI. However, changing the Windows display DPI to other standard configuration (125%, 150% or 200%) or custom sizing might give different results.
Being a command line tool, it can be integrated as a build step in your scripts, so it will run on different DPI configurations used by the members of your team, thus easily identifying the problems.
If any problems are found you will see an output similar with following one.
As seen above, the tool is currently used by our team to maintain the UI for Advanced Installer. We've built it when preparing Advanced Installer for Windows 10. The new OS from Microsoft, along with the new display resolutions showing up on the market made the higher DPIs (over 100%) much more popular. A solid solution to keep an eye on our GUI was urgently needed, so we built it.
You can download the entire source, build and use the tool from our GitHub repository. In the README file you will find all the instructions you need. More details are in the comments from the source code.
If you have any improvements just make a pull request and we'll try to integrate them ASAP.
OSS simply means Better Software
As any software company, we use open source solutions for the most common problems from our universe. We don't use them because it saves us time or money, we use them because they help us build better software for our users.
Giving back to the community just feels the right thing to do in this case. Our GitHub repos list is quite small now, but we have plans to grow it. Stay tuned.