[C con Clase] cursores

Steven Davidson steven en conclase.net
Mar Feb 6 21:14:41 CET 2007


Hola Tomàs,

El pasado 2007-02-06 16:17:05, Tomàs escribió:

T> Hola !!
T> Se està implementado una aplicación que necesita saber el tipo de cursor que el sistema usa en todo momento. Los tipos de cursor definidos por windows son: 
T> {OCR_NORMAL, OCR_IBEAM, OCR_WAIT,OCR_CROSS,OCR_UP,OCR_SIZENWSE, OCR_SIZENESW, OCR_SIZEWE, OCR_SIZENS, OCR_SIZEALL,OCR_NO,OCR_HAND,OCR_APPSTARTING}
T> El prolema de asignar un "icono o dibujo" a un tipo de cursor se resolvió con el siguinte código:
T> HCURSOR hcur;
T> hcur = LoadCursorFromFile("c:\iconos\normal.cur");
T> SetSystemCursor(hcur, 'OCR_NORMAL');
T> El problema aparece cuando se pretende realizar la función inversa, es decir, de algún modo (a poder ser con los hook's del sistema) avariguar que tipo de cursor se esta usndo en cada momento.

Puedes usar la función 'GetCursorInfo()' la cual requiee un puntero a la estructura 'CURSORINFO'. Esta estructura se define como:

struct CURSORINFO
{
  DWORD   cbSize;        // Tamaño de esta estructura => sizeof(CURSORINFO)
  DWORD   flags;         // 0 - Cursor Escondido; CURSOR_SHOWING - Visible
  HCURSOR hCursor;       // Manipulador al cursor en uso
  POINT   ptScreenPos;   // Coordenada del cursor
};


Espero que esto te ayude.

Steven


Más información sobre la lista de distribución Cconclase