Compatibilidad con diseños de ajuste para aplicaciones de escritorio Windows 11
Los diseños de ajuste son una nueva característica de Windows 11 para ayudar a que los usuarios conozcan el potencial del ajuste de ventana. Para acceder fácilmente a los diseños de ajuste, mantenga el puntero sobre el botón de maximizar de una ventana o presione Win + Z. Después de invocar el menú que muestra los diseños disponibles, los usuarios pueden hacer clic en una zona de un diseño para ajustar una ventana a esa zona determinada y, a continuación, usar Asistente para el espacio restante para terminar de crear un diseño completo de ventanas. Los diseños de ajuste se adaptan al tamaño y la orientación actuales de la pantalla, incluida la compatibilidad con tres ventanas en paralelo en pantallas horizontales grandes y ventanas apiladas en la parte superior o inferior en pantallas verticales.
Si la ventana de la aplicación tiene el botón de maximizar subtítulo disponible, el sistema mostrará automáticamente los diseños de ajuste cuando un usuario mantenga el puntero sobre el botón Maximizar de la ventana. Los diseños de ajuste aparecerán automáticamente para la mayoría de las aplicaciones, pero es posible que algunas aplicaciones de escritorio no muestren diseños de ajuste. En este tema se describe cómo asegurarse de que la aplicación muestra el menú con diseños de ajuste si el sistema no lo muestra automáticamente.
¿Por qué mi aplicación no tiene el menú de diseños de ajuste?
Si la ventana principal de su aplicación tiene disponible el botón de maximizar subtítulo, pero no muestra los diseños de ajuste, puede deberse a que ha personalizado los botones de leyenda o la barra de título de una manera que impide que aparezca.
¿Cómo puedo corregirlo?
Si tiene una barra de título personalizada, puede hacer lo siguiente:
Use las API basadas en ventanas del SDK de Aplicaciones de Windows (consulte Administración de ventanas de aplicaciones) y haga que la plataforma dibuje e implemente los botones de leyendas.
En el caso de las aplicaciones de Win32, asegúrese de que está respondiendo correctamente a WM_NCHITTEST (con un valor devuelto de
HTMAXBUTTON
para el botón de maximizar o restaurar).LRESULT CALLBACK TestWndProc(HWND window, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_NCHITTEST: { // Get the point in screen coordinates. // GET_X_LPARAM and GET_Y_LPARAM are defined in windowsx.h POINT point = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }; // Map the point to client coordinates. ::MapWindowPoints(nullptr, window, &point, 1); // If the point is in your maximize button then return HTMAXBUTTON if (::PtInRect(&m_maximizeButtonRect, point)) { return HTMAXBUTTON; } } break; } return ::DefWindowProcW(window, msg, wParam, lParam); }
Si la aplicación usa Electron, actualice a la versión estable v13 de Electron para habilitar los diseños de ajuste.
¿Qué ocurre si la ventana de la aplicación muestra diseños de ajuste pero no se ajusta correctamente?
Si la aplicación puede invocar el menú con diseños de ajuste, pero no puede ajustarse correctamente a los tamaños de zona, es probable que el tamaño mínimo de la ventana de la aplicación sea demasiado grande para que la ventana se ajuste a la zona seleccionada.
La aplicación debe admitir un ancho mínimo de como máximo 500 píxeles efectivos (epx) para admitir diseños de ajuste en los tamaños de pantalla más comunes. Sin embargo, se recomienda admitir un ancho mínimo incluso menor (330 epx o menos) para que sea compatible con un conjunto mayor de dispositivos y diseños de ajuste.