INFO: Algorithm Creates Window Same Size As Full-Screen Window
ID: 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 : kbcode kb16bitonly kbSDKPlatform kbGrpUser kbWndw
Version : WINDOWS:3.0,3.1
Platform : WINDOWS
Issue type : kbinfo