subclass(DisplayDriver) dDriver = (dispDriver && !formDesigner) ? dispDriver : GetDisplayDriver(guiApp.defaultDisplayDriver);
DisplaySystem displaySystem = dDriver ? dDriver.displaySystem : null;
- windowHandle = dDriver.printer ? null : guiApp.interfaceDriver.CreateRootWindow(this);
+ if(!windowHandle)
+ windowHandle = dDriver.printer ? null : guiApp.interfaceDriver.CreateRootWindow(this);
// This was here, is it really needed?
//guiApp.interfaceDriver.ActivateRootWindow(this);
{
case maximized:
case normal:
- ShowWindow(window.windowHandle, ((window.active || window.creationActivation == activate) && !externalDisplayChange) ?
- ((window.nativeDecorations && state == maximized) ? SW_MAXIMIZE : SW_SHOWNORMAL) : SW_SHOWNOACTIVATE);
+ {
+ if((window.active || window.creationActivation == activate) && !externalDisplayChange)
+ ShowWindow(window.windowHandle, (window.nativeDecorations && state == maximized) ? SW_MAXIMIZE : SW_SHOWNORMAL);
+ else
+ {
+ WINDOWPLACEMENT plc = { 0 };
+ GetWindowPlacement(window.windowHandle, &plc);
+ plc.showCmd = (window.nativeDecorations && state == maximized) ? SW_MAXIMIZE : SW_SHOWNORMAL;
+ ShowWindow(window.windowHandle, SW_SHOWNOACTIVATE);
+ SetWindowPlacement(window.windowHandle, &plc);
+ }
break;
+ }
case minimized:
ShowWindow(window.windowHandle, SW_MINIMIZE);
break;