In DirectX7 use FlipToGDISurface
In DirectX8, DirectX9 the only "easy" solution is to use screensize borderless stay-on-top window and render in windowed mode.
Both in DirectX9 you can "paint" windows controls (one by one) each frame on Direct3D textures or back buffer via their GetDC method. In DirectX8 only solution is to paint in off-sceen bitmap lock it and manually transfer it's data to DirectX8 texture/back buffer.