📄 center.c
字号:
/****************************************************************************** Display Doctor Windows Interface Code** ======================================================================* |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|* | |* |This copyrighted computer code is a proprietary trade secret of |* |SciTech Software, Inc., located at 505 Wall Street, Chico, CA 95928 |* |USA (www.scitechsoft.com). ANY UNAUTHORIZED POSSESSION, USE, |* |VIEWING, COPYING, MODIFICATION OR DISSEMINATION OF THIS CODE IS |* |STRICTLY PROHIBITED BY LAW. Unless you have current, express |* |written authorization from SciTech to possess or use this code, you |* |may be subject to civil and/or criminal penalties. |* | |* |If you received this code in error or you would like to report |* |improper use, please immediately contact SciTech Software, Inc. at |* |530-894-8400. |* | |* |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|* ======================================================================** Language: C++ 3.0* Environment: Win16** Description: Dialog driven configuration program for UniVBE and* WinDirect Professional products.*****************************************************************************/#include "center.h"/*------------------------------ Implementation ---------------------------*/void _EXPORT CenterWindow(HWND hWndCenter, HWND parent, BOOL repaint)/****************************************************************************** Function: CenterWindow* Parameters: hWndCenter - Window to center* parent - Handle for parent window* repaint - true if window should be re-painted** Description: Centers the specified window within the bounds of the* specified parent window. If the parent window is NULL, then* we center it using the Desktop window.*****************************************************************************/{ HWND hWndParent = (parent ? parent : GetDesktopWindow()); RECT RectParent; RECT RectCenter; int CenterX,CenterY,Height,Width; GetWindowRect(hWndParent, &RectParent); GetWindowRect(hWndCenter, &RectCenter); Width = (RectCenter.right - RectCenter.left); Height = (RectCenter.bottom - RectCenter.top); CenterX = ((RectParent.right - RectParent.left) - Width) / 2; CenterY = ((RectParent.bottom - RectParent.top) - Height) / 2; if ((CenterX < 0) || (CenterY < 0)) { /* The Center Window is smaller than the parent window. */ if (hWndParent != GetDesktopWindow()) { /* If the parent window is not the desktop use the desktop size. */ CenterX = (GetSystemMetrics(SM_CXSCREEN) - Width) / 2; CenterY = (GetSystemMetrics(SM_CYSCREEN) - Height) / 2; } CenterX = (CenterX < 0) ? 0: CenterX; CenterY = (CenterY < 0) ? 0: CenterY; } else { CenterX += RectParent.left; CenterY += RectParent.top; } /* Copy the values into RectCenter */ RectCenter.left = CenterX; RectCenter.right = CenterX + Width; RectCenter.top = CenterY; RectCenter.bottom = CenterY + Height; /* Move the window to the new location */ MoveWindow(hWndCenter, RectCenter.left, RectCenter.top, (RectCenter.right - RectCenter.left), (RectCenter.bottom - RectCenter.top), repaint);}void _EXPORT CenterLogo(HWND hWndLogo, HWND hWndParent, int CenterY)/****************************************************************************** Function: CenterLogo* Parameters: hWndLogo - Window to center* hWndParent - Handle for parent window* CenterY - Top coordinate for logo** Description: Centers the specified window within the bounds of the* specified parent window in the horizontal direction only.*****************************************************************************/{ RECT RectParent; RECT RectCenter; int CenterX,Height,Width; GetWindowRect(hWndParent, &RectParent); GetWindowRect(hWndLogo, &RectCenter); Width = (RectCenter.right - RectCenter.left); Height = (RectCenter.bottom - RectCenter.top); CenterX = ((RectParent.right - RectParent.left) - Width) / 2; /* Copy the values into RectCenter */ RectCenter.left = CenterX; RectCenter.right = CenterX + Width; RectCenter.top = CenterY; RectCenter.bottom = CenterY + Height; /* Move the window to the new location */ MoveWindow(hWndLogo, RectCenter.left, RectCenter.top, (RectCenter.right - RectCenter.left), (RectCenter.bottom - RectCenter.top), false);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -