I've thought a lot about how to build this application and concluded that I must make the main form invisible and somehow apply the images that represent buttons etc to some kind of invisible form if that is possible. Is that the right way to to it, or do you know of anything else?
You do not need to make it invisible but make it transparent and only the controls on them should be doing the Gui.
Nope. That should not be the case. The control / dialog that you make transparent becomes transparent and not all the child controls on it.
You need to handle the complete drawing of the dialog and its not some flag or something. you can try the TransparentBlt function to get the effect.