After spending ages understand and getting what I wanted done in DXUT I am at the stage where I need a GUI.
The best solution for me would be simply one that lets me use windows forms but if forced to i didn't really mind doing a GUI in DirectX as well, however how can i do things like bring up a standard OpenFileDialog easily
Using a custom DirectX control also seems viable with the exception that none of the ones I have seen enable the control itself to scale properly as the window is resized.
Basically what I want is the same functionality as what MFC with OpenGL/DirectX gave me with SDI apps, allowing me to have a statusbar and menus, while having a resizeable 3D drawing window.
I really would like to know the easiest/best way to do this.

DXUT with Windows Forms menus.
Lauren Lavoie - MS
Oh wow, I figured it out it seems, I just needed to add this line
InitialiseComponents();
I can't believe I took the hard long way at trying to figure this out when the easiest thing to do was just to use the simple existing tutorials!
At any rate I learnt a lot in my struggles I think.
Commali
I assume you are using managed DirectX since you are talking about WIndows Forms
http://www.thezbuffer.com/articles/311.aspx
However remember that if you want to use winforms controls you cannot use true fullscreen with your directX app as they won't render (and OpenFIle DIalogs may or may not appear properly)
Its perfectly possible to write a DX winform control that resizes with the form
http://www.thezbuffer.com/articles/310.aspx
http://www.thezbuffer.com/articles/306.aspx
Not sure if either of them resize but the source is there so it shouldn't be too hard to make it work
itsonlyme4
Thanks for the links! A DirectX control would be much more inline with what I will be needing and I think as I get more comfortable with c# and directX programming it is something I will eventually explore a lot more. The problem is time really and the app I want to create is sort of a tool for a project totally unrelated to .NET programming and since I've gotten everything almost working using the DXUT framework I was hoping that there was and easy way to simply enable the form designer for my window to add a simple menu and statusbar.
If this isn't the case then I guess I will have to scrap the DXUT framework and use the control in your 3rd link which is pretty much perfect for what i need with the exception that I can't use the DXUT frame work...
With regards to the control in the 3rd link, the resolution of the directx control doesn't scale with window size which results in a horrible low res window if the user increases the window size which is quite bizzare.
It seemed strange that someone would create a resizable DX control that doesn't scale the backbuffer as well since it sort of defeats the entire purpose of having a resizable control in the first place... which lead me to believe it isn't a simple task when dealing with a DX control maybe
Thomas van der Heijden (old)
I've not looked at that code for a long time, but it really isn't very hard to reset the device and resize it when the control resizes. I suspect that the developer just didn't have that requirement.
Its really not that hard to get dxut framework in a control - I've done if for a project (though it was for a paying customer so I don't have the code availalbe to share). One day when I get time I will write it up but it really isn't tou tough.
xishan shigri
Being able to to get the dxut framework into a control would be brilliant, if it was something that I could handle with my knowledge I would give it a shot at doing.
My managed directX and programming skills are at a very immature stage compared to most people so even the simplest of things to others can pose huge problems for me and I suspect that my knowledge is far insufficient to be able to pull of something like getting the dxut framework onto a control. I would definately be interested if you create such a tutorial, but until then I guess I will need to use existing DirectX controls that do what I want.
I'm having problems resizing the device in the DX controls in the 3rd link.
Below shows the event that is called whenever the window is resized:
private void d3dDevice_DeviceResizing(object sender, CancelEventArgs e){
PresentParameters presentParams = (PresentParameters)d3dDevice.PresentationParameters; presentParams.BackBufferHeight = this.Height;presentParams.BackBufferWidth =
this.Width; e.Cancel = true;}
But it still doesn't do anything... I know for sure the event does get called when the window is resiszed and that this.Height and this.Width contain the new size of the control after resizing, but the resolution of the window still doesn't change to match it.
Also I notice that in the very simple tutorials in the directX SDK the directX window can have windows form controls added to it but they still don't show up. Is it possible that I can just use that somehow Any idea why the controls don't show up