Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include <windows.h>
//----------------------------------------------------------------------------
// Function: IsInWorkArea
//
// Synopsis: Tests whether a help viewer window is in the work area.
//
// Arguments:
// hwndHelpViewer: the handle (HWND) to a help viewer window
//
// Returns: TRUE if in the work area, otherwise, FALSE
//
// Modifies: None.
//
//----------------------------------------------------------------------------
BOOL IsInWorkArea(HWND hwndHelpViewer) { RECT rectHelpViewer; BOOL bIsInWorkArea = FALSE; if (GetWindowRect(hwndHelpViewer, &rectHelpViewer)) { RECT rectWorkArea; if (SystemParametersInfo(SPI_GETWORKAREA, NULL, (PVOID)&rectWorkArea, NULL)) { bIsInWorkArea = (rectHelpViewer.left >= rectWorkArea.left) && (rectHelpViewer.top >= rectWorkArea.top) && (rectHelpViewer.right <= rectWorkArea.right) && (rectHelpViewer.bottom <= rectWorkArea.bottom); } }
return bIsInWorkArea; }
//----------------------------------------------------------------------------
// Function: PlaceInWorkArea
//
// Synopsis: Place a help viewer in the work area.
// The width becomes 0.6 of original width. The left margin is 0.2 of original width.
// The height becomes 0.7 of original height. The top margin is 0.075 of original height.
//
// Arguments:
// hwndHelpViewer: the handle (HWND) to a help viewer
//
// Returns: None.
//
// Modifies: Modifies the window position and size as specified above.
//
//----------------------------------------------------------------------------
void PlaceInWorkArea(HWND hwndHelpViewer) { RECT rectWorkArea; if (SystemParametersInfo(SPI_GETWORKAREA, NULL, (PVOID) &rectWorkArea, NULL)) { FLOAT fOrigWidth = (FLOAT) (rectWorkArea.right - rectWorkArea.left); FLOAT fOrigHeight = (FLOAT) (rectWorkArea.bottom - rectWorkArea.top); FLOAT fHRatio = (FLOAT) 0.6; FLOAT fHMarginRatio = (FLOAT) ((1.0 - fHRatio) / 2.0); FLOAT fVRatio = (FLOAT) 0.7; FLOAT fVMarginRatio = (FLOAT) ((1.0 - fVRatio) / 4.0); int iWidth = (int) (fOrigWidth * fHRatio); int iHeight = (int) (fOrigHeight * fVRatio); int iLeft = (int) rectWorkArea.left + (int) (fOrigWidth * fHMarginRatio); int iTop = (int) rectWorkArea.top + (int) (fOrigHeight * fVMarginRatio); MoveWindow(hwndHelpViewer, iLeft, iTop, iWidth, iHeight, TRUE); } }
|