In a game I'm making, I decided to try to make a simple dialog box so users can change their video and audio options as necessary. I went through all the code and the basic structure seemed to work fine. When I tried running my game on a different computer, I was unable to see the dialog box, but it still seemed to get keyboard focus and when I moved my mouse on screen, I went from my custom cursor for the game to the regular mouse over where the dialog box should have been. I could push enter to make the cursor go away (the ok button is a default).
If the dialog box works on one computer, why shouldn't it work on the other? I have other ways in mind to create an options screen, but is there any reason why it wouldn't work on all computers?
I'm using Direct3D for my graphics, and both computers have the same version of Direct3D. In fact, the computer on which the dialog box does not appear is better than the other one.
Run dialog prior to init for game and save results in ini file. Read ini file at start up. Provide in-game interface to change basic game settings.
There is a way to use Windows controls/dialogs inside of DX but I haven't done it and frankly seeing a common Windows control pop-up in your game kinda removes the feeling that Windows has taken a hike for a bit while we play.
I hate seeing common Windows controls displayed in game environments. It really kills the interface in my opinion.