Because we are no longer relying on the Windows controls to produce and activate the interface, we really can have a free hand in designing the look and feel of the application. After you have drawn the interface, I recommend that you save it as a bitmap in the resolution in which the application will be running.
The bitmap can then be used as the background picture for a form (with Borderstyle set to none and, if required, maximized set to true) so that it fills the screen, and it no longer looks like a Windows application at all. This will, of course, depend on the screen resolution in which the end user will be running, and ideally the bitmap that you create should match that resolution.
It is against this bitmap that we will be creating the hot spots so that the screen can respond to the actions of the user. This also ensures that the hot spot covers the correct area on the bitmap, as specified at build time. If you let the user resize the interface, you will have all sorts of problems with the hot spots not matching the background image. (That’s one reason you’ll find that the interfaces used on multimedia products are generally fixed and you are not able to resize them.)
Note At first glance, this may seem like a small problem, and with a bit of math, you could resize the hot spots. I’ve made several attempts and managed to get reasonably close with rectangular hot spots, by using ratios and offsets to resize and relocate them as the form is expanded and contracted. I’ve never managed to get anywhere near with irregular hot spots. The math for this is beyond my mathematical skills. If you manage to solve this, I’ll be interested to see your solution.
There is, of course, nothing to stop you from also using Visual Basic and other Windows controls, along with your own graphics and hot spots. Indeed, this can often cut down on the amount of work that you have to do.