Creating controls dynamically is typically not too difficult as the first link of solution 1 will show you. The repositioning in the face of dialog resizing is a little more challenging. There are a couple of good articles here on CodeProject that you can find under the keywords "dialog" "resize", for example this one:
Simple and more powerful resizable dialog
If you are starting a new development, C# and WinForms make the dynamic layout of controls so much easier by the use of panels and anchoring.
If you want to stick with C++ and MFC, note that all the positions and sizes in dialog resources are measured in DLU (dialog units), while at runtime you need to calculate in pixels. So if you want to position a new control in relation to another existing control, created by the dialog template, I'd recommend to ask the other control's position at runtime via GetWindowRect and do my calculations from there.