GetSystemMetrics
La función GetSystemMetrics recupera varios valores de medidas y de parámetros de configuración del sistema.
Las medidas del sistema son las dimensiones (anchura y altura) de elementos del display de Windows. Todas las dimensiones recuperadas por GetSystemMetrics se expresan en pixels.
Sintaxis
int GetSystemMetrics( int nIndex // medida de sistema o parámetro de configuración a recuperar );
Parámetros:
nIndex: especifica la medida de sistema o parámetro de configuración a recuperar. Todos los valores SM_CX* son anchuras. Todos los valores SM_CY* son alturas. Se definen los siguientes valores:
Valor | Significado |
---|---|
SM_ARRANGE | banderas que especifican el modo en que el sistema organiza los iconos minimizados. Para más detalles sobre ventans minimizadas, ver la sección de observaciones. |
SM_CLEANBOOT | Valor que especifica cómo se inició el sistema:
|
SM_CMOUSEBUTTONS | Número de botones en el ratón, o cero si el ratón no está instalado. |
SM_CXBORDER, SM_CYBORDER | Anchura y altura, en pixels, del borde de una ventana. Es equivalente al valor SM_CXEDGE para ventanas con aspecto 3-D. |
SM_CXCURSOR, SM_CYCURSOR | Anchura y altura, en pixels, de un cursor. Estas son las dimensiones del cursor soportadas por el driver del display actual. El sistema no puede crear cursores de otros tamaños. |
SM_CXDLGFRAME, SM_CYDLGFRAME | Lo mismo que SM_CXFIXEDFRAME y SM_CYFIXEDFRAME. |
SM_CXDOUBLECLK, SM_CYDOUBLECLK | Anchura y altura, en pixels, del rectángulo alrededor del primer clic en una secuencia de doble clic. El segundo clic debe producirse dentro de ese rectángulo para que el sistema considere los dos clics como un doble clic. (Ambos clics deben producirse también en un tiempo especificado.) |
SM_CXDRAG, SM_CYDRAG | Anchura y altura, en pixels, de un rectángulo centrado en un punto de arrastre (drag) para permitir un movimiento limitado del ratón antes de que comience una operación de arrastre. Esto permite al usuario hacer un clic y soltar el botón del ratón sin empezar una operación de arrastre inadvertidamente. |
SM_CXEDGE, SM_CYEDGE | Dimensiones, en pixels, de un borde 3-D. Son los equivalentes 3-D de SM_CXBORDER y SM_CYBORDER. |
SM_CXFIXEDFRAME, SM_CYFIXEDFRAME | Grosor, en pixels, del marco alrededor del perímetos de una ventana que que tiene un título, pero no puede cambiar de tamaño. SM_CXFIXEDFRAME es la anchura del borde horizontal y SM_CYFIXEDFRAME es la altura del borde vertical. Lo mismo que SM_CXDLGFRAME y SM_CYDLGFRAME. |
SM_CXFRAME, SM_CYFRAME | Lo mismo que SM_CXSIZEFRAME y SM_CYSIZEFRAME. |
SM_CXFULLSCREEN, SM_CYFULLSCREEN | Anchura y altura del área de cliente de una ventana de pantalla completa. Para obtener las coordenadas de la porción de pantalla no ocultada por la barra, llamar a la función SystemParametersInfo con el valor SPI_GETWORKAREA. |
SM_CXHSCROLL, SM_CYHSCROLL | Anchura, en pixels, del mapa de bits de la flecha en una barra de desplazamiento horizontal; y altura, en pixels, de una barra de desplazamiento horizontal. |
SM_CXHTHUMB | Anchura, en pixels, de la caja thumb en una barra de desplazamiento horizontal. |
SM_CXICON, SM_CYICON | Anchura y altura por defecto, en pixels, de un icono. Estos valores son normalmente 32x32, pero pueden variar dependiendo del hardware de visualización instalado. La función LoadIcon sólo puede cargar iconos de esas dimensiones. |
SM_CXICONSPACING, SM_CYICONSPACING | Dimensiones, en pixels, de una celda en una cuadrícula para items en una vista de iconos grande. Cada ítem se coloca en un rectángulo de ese tamaño cuando se ordenan. Estos valores son siempre mayores o iguales que SM_CXICON y SM_CYICON. |
SM_CXMAXIMIZED, SM_CYMAXIMIZED | Dimensiones por defecto, en pixels, de una ventana de nivel máximo maximizada. |
SM_CXMAXTRACK, SM_CYMAXTRACK | Dimensiones máximas por defecto, en pixels, de una ventana que tiene barra de título y que tiene bordes que permiten cambiar el tamaño. El usuario no puede arrastrar el borde de la ventana a un tamaño mayor que estas dimensiones. Una ventana puede ignorar estos valores procesando el mensaje WM_GETMINMAXINFO. |
SM_CXMENUCHECK, SM_CYMENUCHECK | Dimensiones, en pixels, de mapa de bits de la marca (V) del menú por defecto. |
SM_CXMENUSIZE, SM_CYMENUSIZE | Dimensiones, en pixels, de los botones de la barra de menú, como los botones de cerrar ventans hijas en ventanas de múltiples documentos (MDI). |
SM_CXMIN, SM_CYMIN | Anchura y altura mínimas, en pixels, de una ventana. |
SM_CXMINIMIZED, SM_CYMINIMIZED | Dimensiones, en pixels, de una ventana normal minimizada. |
SM_CXMINSPACING, SM_CYMINSPACING | Dimensiones, en pixels, de una celda en una cuadrícula para ventanas minimizadas. Cada ventana minimizada ítem se coloca en un rectángulo de ese tamaño cuando se ordenan. Estos valores son siempre mayores o iguales que SM_CXMINIMIZED and SM_CYMINIMIZED. |
SM_CXMINTRACK, SM_CYMINTRACK | Anchura y altura de trazado mínimas, en pixels, de una ventana. El usuario no puede arrastrar el borde de la ventana a un tamaño menor que estas dimensiones. Una ventana puede ignorar estos valores procesando el mensaje WM_GETMINMAXINFO. |
SM_CXSCREEN, SM_CYSCREEN | Anchura y altura, en pixels, de la pantalla. |
SM_CXSIZE, SM_CYSIZE | Anchura y altura, en pixels, de un botón dentro de la zona de captura o barra de título de una ventana. |
SM_CXSIZEFRAME, SM_CYSIZEFRAME | Espesor, en pixels, del borde de cambia de tamaño alrededor del perímetro de una ventana que puede ser cambiada de tamaño. SM_CXSIZEFRAME es la anchura del borde horizontal y SM_CYSIZEFRAME es la altura del borde vertical. Lo mismo que SM_CXFRAME y SM_CYFRAME. |
SM_CXSMICON, SM_CYSMICON | Dimensiones recomendadas, en pixels, de un icono pequeño. Los iconos pequeños aparecen normalmente en la zona de captura de las ventanas y en las visatas de iconos pequeños. |
SM_CXSMSIZE, SM_CYSMSIZE | Dimensiones, en pixels, de los botones pequeños en zonas de captura. |
SM_CXVSCROLL, SM_CYVSCROLL | Anchura, en pixels, de una barra de desplazamiento vertical; y altura, en pixels, del mapa de bits de la flecha en una barra de desplazamiento vertical. |
SM_CYCAPTION | Altura, en pixels, del área de capura normal. |
SM_CYKANJIWINDOW | Para versiones de Windows de conjuntos de caracteres de doble byte, altura, en pixels, de la ventana Kanji en la parte inferior de la pantalla. |
SM_CYMENU | Altura, en pixels, de una barra de mení de una línea. |
SM_CYSMCAPTION | Altura, en pixels, para una barra de captura pequeña. |
SM_CYVTHUMB | Altura, en pixels, de la caja thumb de una barra de desplazamiento vertical. |
SM_DBCSENABLED | TRUE o distinto de cero, si la versión del conjunto de caracteres de doble byte (DBCS) de USER.EXE está instalada; FALSE, o cero en caso contrario. |
SM_DEBUG | TRUE o distinto de cero si la versión de depuración de USER.EXE estña instalada; FALSE, o cero, en caso contrario. |
SM_MENUDROPALIGNMENT | TRUE, o distinto de cero si los menús desplegables están alineados respecto a la derecha del ítem correspondiente de la barra de menú; FALSE, o cero si están alineados a la izquierda. |
SM_MIDEASTENABLED | TRUE si el sistema permite lenguajes de tipo Hebreo/Arabico. |
SM_MOUSEPRESENT | TRUE o distinto de cero si está instalado un ratón; FALSE, o cero, en caso contrario. |
SM_MOUSEWHEELPRESENT | Sólo en Windows NT: TRUE o distinto de cero si está instalado un ratón con rueda; FALSE, o cero, en caso contrario. |
SM_NETWORK | El bít de menor peso está activo si hay una red presente; en caso contrario está inactivo. El resto de los bits están reservados para uso futuro. |
SM_PENWINDOWS | TRUE o distinto de cero si las extensiones de Microsoft Windows para cálculos de Pluma están instalados; cero, o FALSE, en caso contrario. |
SM_SECURE | TRUE si hay seguridad presente, FALSE si no. |
SM_SHOWSOUNDS | TRUE o distinto de cero si el usuario necesita una aplicación para presentar información visualmente en situaciones donde de otro modo se presentaría sólo de forma sonora; FALSE, o cero, en caso contrario. |
SM_SLOWMACHINE | TRUE si el ordenador tiene un procesador lento, FALSE en caso contrario. |
SM_SWAPBUTTON | TRUE o distinto de cero si el significado de los botones izquiedo y derecho del ratón están intercambiados; FALSE, o cero, en caso contrario. |
Valor de retorno
Si la función tiene éxito, el valor de retorno es la medida de sistema o valor de configuración pedido.
Si la función falla, el valor de retorno es cero. GetLastError no proporciona información adicional sobre el motivo del error.
Observaciones
Las medidas del sistema pueden cambiar de un display a otro.
El valor SM_ARRANGE especifica el modo en que el sistema ordena las ventanas minimizadas, y consiste en una posición de comienzo y en una dirección. La posición de comienzo puede ser uno de los siguientes valores:
Valor | Significado |
---|---|
ARW_BOTTOMLEFT | Empezar en la esquina inferior izquierda de la pantalla (posición por defecto). |
ARW_BOTTOMRIGHT | Empezar en la esquina inferior derecha de la pantalla. Equivale a ARW_STARTRIGHT. |
ARW_HIDE | Ocultar ventanas minimizadas moviéndolas fuera de la parte visible de la pantalla. |
ARW_TOPLEFT | Empezar en la esquina superior izquierda de la pantalla. Equivale a ARV_STARTTOP. |
ARW_TOPRIGHT | Empezar en la esquina superior derecha de la pantalla. Equivale a ARW_STARTTOP | SRW_STARTRIGHT. |
La dirección en que se colocan puede ser uno de los siguientes valores:
Valor | Significado |
---|---|
ARW_DOWN | Ordenar verticalmente, de arriba a abajo. |
ARW_LEFT | Ordenar horizontalmente, de izquierda a derecha. |
ARW_RIGHT | Ordenar horizontalmente, de derecha a izquierda. |
ARW_UP | Ordenar verticalmente, de abajo a arriba. |