Could anyone kindly explain to me any major differences between choosing DirectDraw or API when setting the resolution. Also what are the advantages/disadvantages of each? Thanks for any help.
Setting the screen resolution via the Win32 API will work on all systems where the DirectDraw option will only work where DirectDraw 7 (or better is installed). Essentially this will cover most modern systems.
The Win32 API method gives you control over the refresh rate, but also requires that you restore it to avoid messing up the users display. DirectDraw doesn't let you set or read the monitor refresh rate so it's a bit simpler. Because Win32 lets you specify different refresh rates, more resolutions are generally possible, see ssGlobals.ssDesktopDisplayModes for an example list of available resolutions.
Changes made to the resolution via DirectDraw will automatically revert to the default display settings when your app ends, the Win32 method allows you to make resolution changes permanent (persist after your application ends).
QUOTE: from northcode;45615
I am currently evaluating SWF Studio for use in a propject. I notice on this screen that is says SWF Studio is compatible with NT4 : http://www.northcode.com/swfstudio.php
As NT4 only supports up to DX3 will the SWF studio directX commands not work? I believe you can change the screen resolution using the DX3 direct draw interfaces.
If you check out ssGlobals.ssDesktopDisplayModes and if you don't see any nodes marked as "DirectDraw" then the OS you're using doesn't support the right version. You can also try the usedirectDraw flag on Desktop.changeResolution and if that fails you can fall back to the Win32 API mode (basically just make the call again with the useDirectDraw flag set to false instead of true).