Share via


Acerca de Los símbolos de intercalación

El sistema proporciona un símbolo de intercalación por cola de mensajes. Una ventana debe crear un símbolo de intercalación solo cuando tenga el foco del teclado o esté activo. La ventana debe destruir el símbolo de intercalación antes de perder el foco del teclado o volverse inactivo. Para obtener más información sobre la entrada del teclado, vea Entrada de teclado.

Use la función CreateCaret para especificar los parámetros de un símbolo de intercalación. El sistema forma un símbolo de intercalación al invertir el color de píxel dentro del rectángulo especificado por la posición, el ancho y el alto del símbolo de intercalación. El ancho y alto se especifican en unidades lógicas; por lo tanto, la apariencia de un símbolo de intercalación está sujeta al modo de asignación de la ventana.

En esta sección se describen los temas siguientes.

Visibilidad del símbolo de intercalación

Una vez definido el símbolo de intercalación, use la función ShowCaret para que el símbolo de intercalación sea visible. Cuando aparece el símbolo de intercalación, comienza automáticamente a parpadear. Para mostrar un símbolo de intercalación sólida, el sistema invierte todos los píxeles del rectángulo; para mostrar un símbolo de intercalación gris, el sistema invierte todos los demás píxeles; para mostrar un símbolo de intercalación de mapa de bits, el sistema invierte solo los bits blancos del mapa de bits.

El tiempo transcurrido, en milisegundos, necesario para invertir el símbolo de intercalación se denomina tiempo de parpadeo. El símbolo de intercalación parpadeará siempre que el subproceso que posee la cola de mensajes tenga un bombeo de mensajes que procese los mensajes.

El usuario puede establecer el tiempo de parpadeo del símbolo de intercalación mediante el Panel de control y las aplicaciones deben respetar la configuración elegida por el usuario. Una aplicación puede determinar el tiempo de parpadeo del símbolo de intercalación mediante la función GetCaretBlinkTime . Si está escribiendo una aplicación que permita al usuario ajustar el tiempo de parpadeo, como un applet de Panel de control, use la función SetCaretBlinkTime para establecer la velocidad del tiempo de parpadeo en un número especificado de milisegundos.

El tiempo flash es el tiempo transcurrido, en milisegundos, necesario para mostrar, invertir y restaurar la pantalla del símbolo de intercalación. El tiempo de flash de un símbolo de intercalación es el doble que el tiempo de parpadeo.

Posición del símbolo de intercalación

Puede determinar la posición del símbolo de intercalación mediante la función GetCaretPos . La posición, en coordenadas de cliente, se copia en una estructura especificada por un parámetro en GetCaretPos. Una aplicación puede mover un símbolo de intercalación en una ventana mediante la función SetCaretPos . Una ventana solo puede mover un símbolo de intercalación si ya posee el símbolo de intercalación. SetCaretPos puede mover el símbolo de intercalación si está visible o no.

Quitar un símbolo de intercalación

Puede quitar temporalmente un símbolo de intercalación ocultandolo o puede quitar permanentemente el símbolo de intercalación destruyendolo. Para ocultar el símbolo de intercalación, use la función HideCaret . Esto resulta útil cuando la aplicación debe volver a dibujar la pantalla mientras se procesa un mensaje, pero debe mantener el símbolo de intercalación fuera del camino. Cuando la aplicación finaliza el dibujo, puede volver a mostrar el símbolo de intercalación mediante la función ShowCaret . Ocultar el símbolo de intercalación no destruye su forma ni invalida el punto de inserción. Ocultar el símbolo de intercalación es acumulativo; es decir, si la aplicación llama a HideCaret cinco veces, también debe llamar a ShowCaret cinco veces antes de que vuelva a aparecer el símbolo de intercalación.

Para quitar el símbolo de intercalación de la pantalla y destruir su forma, utilice la función DestroyCaret . DestroyCaret destruye el símbolo de intercalación solo si la ventana implicada en la tarea actual posee el símbolo de intercalación.