You are using DelphiX which works at a higher level than a lib that's build from scratch (like my engine). I have some DelphiX experience so i might be able to give you some clues and how-to's. I understand that you have problems getting shapes like rectangles on the screen. This can indeed be complicated (in my case, when using raw DX), but with DelphiX i guess it's a lot easier.

This is how i draw a rectangle using clooties headers:

> Define a vertex format (e.g D3DVTX_XYZ or D3DVTX_DIFFUSE)
> Create a Vertexbuffer and specify the defind vertex format
> Lock the buffer and fill it with vertex data
These vertices are the corners of triangles. I will pass 2 triangles which make up a rectangle.
> UnLock the vertexbuffer
> Enter the game loop and render the contents of the buffer in each frame.

As you can imagine, things like ellipses and round-rects are a lot harder to do because you need more vertices and more math skills to get your shape right. For more info on this, you can check the tutorials that are downloadable from clooties page. Things like: setting up a vertexbuffer, render a texture, creating a render device etc are all covered.

So, when you are using delphiX, you can use DXDraw1.Surface.Fill to fill a rectangle with a color. You can also draw rect's with DXDraw1.Surface.Canvas, but i guess you are not able to do blending. You can use more complex functions like ellipses and arc's though. Text can be done using Canvas.Textout.
You should explore the routines that the canvas and the surface offer you. Take a close look at the DelphiX examples, and i'm sure you will be able to figure it out.

If you have more specific problems, feel free to ask.

EDIT: Never mind ops: