AutoLocateWnd.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 窗口自动定位
  3. // Copyright : Kingsoft 2003
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2003-2-17
  6. *****************************************************************************************/
  7. #include "KWin32.h"
  8. #include "Wnds.h"
  9. #define CURSOR_HEIGHT 32
  10. void ALW_GetWndPosition(int& nX, int& nY, int nWidth, int nHeight,
  11. bool bUseInputParamPos/* = false*/,
  12. bool bIgnoreCursorPos/* = false*/)
  13. {
  14. int nSWidth, nSHeight;
  15. if (bUseInputParamPos == false)
  16. Wnd_GetCursorPos(&nX, &nY);
  17. Wnd_GetScreenSize(nSWidth, nSHeight);
  18. nX -= nWidth / 2;
  19. if (nX + nWidth > nSWidth)
  20. nX = nSWidth - nWidth;
  21. if (nX < 0)
  22. nX = 0;
  23. int nCentrePos;
  24. if (bIgnoreCursorPos == false)
  25. nCentrePos = (nSHeight - CURSOR_HEIGHT) / 2;
  26. else
  27. nCentrePos = nSHeight / 2;
  28. if (nY > nCentrePos)
  29. nY -= nHeight;
  30. else if (bIgnoreCursorPos == false)
  31. nY += CURSOR_HEIGHT;
  32. if (nY + nHeight > nSHeight)
  33. nY = nSHeight - nHeight;
  34. if (nY < 0)
  35. nY = 0;
  36. }