zoukankan      html  css  js  c++  java
  • 【Demo 0035】获取窗体状态

    本章学习内容非常少就一个API(GetWindowPlacement)

    1. 代码演示

    //////////////////////////////////////////////////////////////////////////
    BOOL CALLBACK WndEnumProc(HWND hWnd, LPARAM lParam)
    {
        HWND hListbox = (HWND)lParam;
        if (NULL == hWnd)    return FALSE;

        if (NULL != hListbox && IsWindow(hListbox) && IsWindowVisible(hWnd))
        {
            TCHAR szWndInfo[512]    = {0};
            TCHAR szWndTitle[256]    = {0};
            TCHAR szClsName[64]        = {0};
            WINDOWPLACEMENT wp        = {0};
            wp.flags                = 0;
            wp.length                = sizeof(wp);

            RECT rtWnd, rtClient;
            GetWindowRect(hWnd, &rtWnd);
            GetClientRect(hWnd, &rtClient);
            GetWindowText(hWnd, szWndTitle, 256);
            GetClassName(hWnd, szClsName, 64);
            GetWindowPlacement(hWnd, &wp);
            _stprintf(szWndInfo,
                      _T("\"%s\"")
                      _T("  %d ")
                      _T("wnd[%d,%d,%d,%d], client[%d,%d,%d,%d], normal[%d,%d,%d,%d] min[%d, %d] max[%d, %d]"),
                      szWndTitle,
                      wp.showCmd,
                      rtWnd.left, rtWnd.top, rtWnd.right, rtWnd.bottom,
                      rtClient.left, rtClient.top, rtClient.right, rtClient.bottom,
                      wp.rcNormalPosition.left, wp.rcNormalPosition.top, wp.rcNormalPosition.right, wp.rcNormalPosition.bottom,
                      wp.ptMinPosition.x, wp.ptMinPosition.y,
                      wp.ptMaxPosition.x, wp.ptMaxPosition.y);
            SendMessage(hListbox, LB_ADDSTRING, 0, (LPARAM)szWndInfo);
        }

        return TRUE;
    }

    2.  BOOL GetWindowPlacement(HWND hWnd, WINDOWPLACEMENT *lpwndpl )

         功能: 该函数返回指定窗口的显示状态以及被恢复的、最大化的和最小化的窗口位置

    typedef struct _WINDOWPLACEMENT {
          UINT length;
          UINT flags;
          UINT showCmd;
          POINT ptMinPosition;
          POINT ptMaxPosition;
          RECT rcNormalPosition;
       } WINDOWPLACEMENT;
    返回值说明: 
    showCmd – 直接COPY MSDN
            SW_HIDE
    Hides the window and activates another window.
      SW_MAXIMIZE
    Maximizes the specified window.
      SW_MINIMIZE
    Minimizes the specified window and activates the next top-level window in the z-order.
      SW_RESTORE
    Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position.
    An application should specify this flag when restoring a minimized window.
      SW_SHOW
    Activates the window and displays it in its current size and position.
      SW_SHOWMAXIMIZED
    Activates the window and displays it as a maximized window.
      SW_SHOWMINIMIZED
    Activates the window and displays it as a minimized window.
      SW_SHOWMINNOACTIVE
    Displays the window as a minimized window.

                 This value is similar to SW_SHOWMINIMIZED, except the window is not activated.

      SW_SHOWNA
    Displays the window in its current size and position. 

                  This value is similar to SW_SHOW, except the window is not activated.

      SW_SHOWNOACTIVATE
    Displays a window in its most recent size and position.

                  This value is similar to SW_SHOWNORMAL, except the window is not actived.

      SW_SHOWNORMAL
     
    演示代码
  • 相关阅读:
    HDU
    【JZOJ1252】【洛谷P5194】天平【搜索】
    【JZOJ1252】【洛谷P5194】天平【搜索】
    【JZOJ3896】战争游戏【割点】
    【JZOJ3896】战争游戏【割点】
    【JZOJ3895】数字对【ST表】
    【JZOJ3895】数字对【ST表】
    【JZOJ3894】改造二叉树【树】【LIS】
    【JZOJ3894】改造二叉树【树】【LIS】
    【洛谷P4014】【网络流24题】分配问题【费用流】
  • 原文地址:https://www.cnblogs.com/ztercel/p/2155197.html
Copyright © 2011-2022 走看看