Tuesday, 18 October 2011

Creating a Concave User Interface

This post is part of series of posts to help developers develop great user interfaces.  

One way to take your FireMonkey HD application into the the 3rd dimension is to make a concave user interface. This interface simply consists of several TLayer3Ds, arranged in a concave fashion. Each TLayer3D simply is the parent of a form on a different unit. Its that simple!

Well, not quite. You need this bit of code.


This function takes in an X,Y position of your concave user interface, along with other important info, and returns the position, width, and height of your TLayer3D!  All you need to do is fill your 3D interface with TLayer3D components, and call this function to set the positions!

For more great articles, check out LearnDelphi.com!
To convert your VCL/VGScene applications to FireMonkey, check out the FREE MonkeyGroomer tool!
Check out more information about 3D and Delphi at the Embarcadero Developer Portal
Follow me during my CodeRaging!


  1. Are the forms that you embed to TLayer3D FireMonkey HD or 3D Forms? Could you please post that snippet of setting the Parent as I don't get the form to show inside the TLayer3D but it shows as a normal window.

    1. You can apply this code to anything. The function simply returns the correct positioning and angle of each panel in a concave interface.