Microsoft KB Archive/36319

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 14:13, 21 July 2020 by X010 (talk | contribs) (Text replacement - "&" to "&")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

INFO: Algorithm Creates Window Same Size As Full-Screen Window

Q36319



The information in this article applies to:


  • Microsoft Windows Software Development Kit (SDK) versions 3.1, 3.0





SUMMARY

The algorithm listed below creates a window the size of the "standard" full-screen window.



MORE INFORMATION

Sample Code

    int winBorder, cxBorder, cyBorder,
        cxMargin, cxBAMargin, cyBAMargin,
        x, y, cx, cy;

    /* Get the user-defined border width */ 
    winBorder = GetProfileInt("windows", "BorderWidth", 5);
    /* It must be in the range of 0 < winBorder < 51 */ 
    if (winBorder < 1) {
        winBorder = 1;
    } else if (winBorder > 50) {
        winBorder = 50;
    }

    /* Get some internal system metrics to determine extra scaling */ 
    cxBorder = GetSystemMetrics (SM_CXBORDER);
    cyBorder = GetSystemMetrics (SM_CYBORDER);
    cxMargin = (cxBorder * winBorder) + cxBorder;

    /* Byte align the border */ 
    cxBAMargin = (((cxMargin + 7) & 0xFFF8) - cxMargin);
    cyBAMargin = cxBAMargin * cyBorder / cxBorder;

    x  = cxBAMargin;
    y  = cyBAMargin;
    cx = CW_USEDEFAULT;
    cy = 0;

    hWnd = CreateWindow(szAppName, szTitle, WS_OVERLAPPEDWINDOW,
                        x, y, cx, cy,
                        NULL, NULL, hInstance, NULL); 

Additional query words:

Keywords : _IK kb16bitonly kbSDKPlatform kbGrpDSUser kbWndw
Issue type : kbinfo
Technology : kbAudDeveloper kbWin3xSearch kbSDKSearch kbWinSDKSearch kbWinSDK300 kbWinSDK310


Last Reviewed: November 6, 1999
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.