Manual de programación de OS/2/Llamadas MOUxxx para acceso al ratón

GRUPO DE LLAMADAS MOUEditar

MouCloseEditar

MouClose cierra el controlador de ratón para la sesión actual.

#define INCL_BASE
#include <os2.h> 
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 
rc = MouClose(MouHandle);


ParámetrosEditar

MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouDrawPtrEditar

MouDrawPtr elimina el área restringida por una llamada anterior a MouRemovePtr.

#define INCL_BASE
#include <os2.h> 

HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouDrawPtr(MouHandle);

ParámetrosEditar

MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouFlushQueEditar

MouFlushQue vacía la cola de eventos de ratón para la sesión actual.

#define INCL_BASE
#include <os2.h> 

HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouFlushQue(MouHandle);

ParámetrosEditar

MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetDevStatusEditar

MouGetDevStatus devuelve los flags de estado del controlador de ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT DeviceStatus;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetDevStatus(DeviceStatus, MouHandle);

ParámetrosEditar

DeviceStatus Puntero a una posición de memoria donde OS/2 devolverá un conjunto de flags con el estado del controlador.
Bit Descripción
15-10 Reservados. Puestos a cero.
9 Activo si los datos son devueltos en mickeys en vez de en puntos.
8 Activo si el controlador de ratón no pinta el cursor en pantalla.
7-4 Reservados. Puestos a cero.
3 Activo si el cursor no es pintado en pantalla por estar ésta en un modo no soportado.
2 Activo si se está vaciando la cola de eventos.
1 Activo si se está leyendo un bloque.
0 Activo si la cola de eventos está bloqueada por una operación de entrada/salida.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetEventMaskEditar

MouGetEventMask devuelve los valores actuales de la máscara de eventos del ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT EventMask;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetEventMask(EventMask, MouHandle);

ParámetrosEditar

EventMask Puntero a una zona de memoria donde OS/2 devolverá la máscara de eventos actual, cuyos bits representan:
Bit Descripción
15-7 Reservados. Puestos a cero.
6 Activo si se devuelven pulsaciones del boton 3 sin movimiento del ratón.
5 Activo si se devuelven pulsaciones del boton 3 con movimiento del ratón.
4 Activo si se devuelven pulsaciones del boton 2 sin movimiento del ratón.
3 Activo si se devuelven pulsaciones del boton 2 con movimiento del ratón.
2 Activo si se devuelven pulsaciones del boton 1 sin movimiento del ratón.
1 Activo si se devuelven pulsaciones del boton 1 con movimiento del ratón.
0 Activo si se produce un evento al mover el ratón sin ningún boton pulsado.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetNumButtonsEditar

MouGetNumButtons devuelve el número de botones que soporta el controlador de ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT NumberOfButtons;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetNumButtons(NumberOfButtons, MouHandle);

ParámetrosEditar

NumberOfButtons Puntero a una posición de memoria donde OS/2 devolverá el número de botones soportados. Puede valer 1, 2 ó 3.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetNumMickeysEditar

MouGetNumMickeys devuelve el número de mickeys por centímetro para el controlador de ratón instalado.

#define INCL_BASE
#include <os2.h> 

PUSHORT NumberOfMickeys;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetNumMickeys(NumberOfMickeys, MouHandle);

ParámetrosEditar

NumberOfMickeys Puntero a una zona de memoria donde OS/2 devolverá el número de unidades físicas de movimiento del ratón. Estas se devuelven en mickeys por centímetro. Este valor es una constante definida en el controlador de ratón.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetNumQueElEditar

MouGetNumQueEl devuelve el estado de la cola de eventos del controlador de ratón.

#define INCL_BASE
#include <os2.h> 

PMOUQUEINFO QueDataRecord;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetNumQueEl(QueDataRecord, MouHandle);

ParámetrosEditar

QueDataRecord Puntero a una estructura donde OS/2 devolverá los siguientes valores:
cEvents (USHORT) Número actual de elementos en la cola, en el rango 0 <= valor <= cmaxEvents.
cmaxEvents (USHORT) Máximo número de elementos que puede contener la cola.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetPtrPosEditar

MouGetPtrPos devuelve la fila y columna actual del cursor del ratón.

#define INCL_BASE
#include <os2.h> 

PPTRLOC PtrPos;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetPtrPos(PtrPos, MouHandle);

ParámetrosEditar

PtrPos Puntero a una estructura donde OS/2 devolverá los siguientes valores:
row (USHORT) Fila actual del cursor.
col (USHORT) Columna actual del cursor.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouOpenEditar

MouOpen inicializa el soporte de ratón para la sesión actual.

#define INCL_BASE
#include <os2.h> 

PSZ DriverName;
PHMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouOpen(DriverName, MouHandle);

ParámetrosEditar

DriverName Puntero a una cadena con el nombre de dispositivo a usar. Si se usa el controlador por defecto (válido para casi todas las aplicaciones) se debe poner a cero (NULL).
MouHandle Puntero a una zona de memoria donde OS/2 devolverá el Handle de ratón para la sesión actual.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
390 Nombre de dispositivo no válido.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouReadEventQueEditar

MouReadEventQue lee un evento desde la cola de eventos y coloca los datos en una estructura adecuada.

#define INCL_BASE
#include <os2.h> 

PMOUEVENTINFO Buffer;
PUSHORT ReadType;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouReadEventQue(Buffer, ReadType, MouHandle);

ParámetrosEditar

Buffer Puntero a una estructura donde OS/2 devolverá los siguientes valores:
fs (USHORT) Contiene los siguientes bits:
15-7 Reservado. Puestos a cero.
6 Boton 3 pulsado.
5 Boton 3 pulsado + movimiento de ratón.
4 Boton 2 pulsado.
3 Boton 2 pulsado + movimiento de ratón.
2 Boton 1 pulsado
1 Boton 1 pulsado + movimiento de ratón.
0 Solo movimiento de ratón.
time (ULONG) Tiempo (en milisegundos) desde que el sistema se ha conectado.
row (SHORT) Fila del cursor.
col (SHORT) Columna del cursor.
ReadType Puntero a una posición de memoria donde estará almacenada la acción a tomar si la cola de mensajes está vacía: 0 no espera (devuelve un puntero a NULL); 1 espera a que halla un evento disponible.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
387 Parámetro no válido.
393 No hay datos en la cola de eventos.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouRemovePtrEditar

MouRemovePtr permite definir un área para uso exclusivo de la aplicacion (collision area), la cual no estará disponible para pintar el puntero de ratón.

#define INCL_BASE
#include <os2.h> 

PNOPTRRECT PtrArea;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouRemovePtr(PtrArea, MouHandle);

ParámetrosEditar

PtrArea Puntero a una zona de memoria con los siguientes datos:
row (USHORT) Fila superior del área.
col (USHORT) Columna izquierda del área.
cRow (USHORT) Fila inferior del área.
cCol (USHORT) Columna derecha del área.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
387 Parámetro no válido.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouSetDevStatusEditar

MouSetDevStatus establece los flags de estado del controlador de ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT DeviceStatus;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouSetDevStatus(DeviceStatus, MouHandle);

ParámetrosEditar

DeviceStatus Puntero a una posición de memoria con el conjunto de flags deseados para el estado del controlador.
Bit Descripción
15-10 Reservados. Poner a cero.
9 Activo si los datos deben ser devueltos en mickeys en vez de en puntos.
8 Activo si el controlador de ratón no debe pintar el cursor en pantalla (es necesario activarlo si se va a trabajar en modos gráficos).
7-0 Reservados. Poner a cero.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
387 Parámetro no válido.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouSetEventMaskEditar

MouSetEventMask establece los valores actuales de la máscara de eventos del ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT EventMask;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouSetEventMask(EventMask, MouHandle);

ParámetrosEditar

EventMask Puntero a una zona de memoria con la máscara de eventos deseada, cuyos bits representan:
Bit Descripción
15-7 Reservados. Puestos a cero.
6 Activo si se devuelven pulsaciones del boton 3 sin movimiento del ratón.
5 Activo si se devuelven pulsaciones del boton 3 con movimiento del ratón.
4 Activo si se devuelven pulsaciones del boton 2 sin movimiento del ratón.
3 Activo si se devuelven pulsaciones del boton 2 con movimiento del ratón.
2 Activo si se devuelven pulsaciones del boton 1 sin movimiento del ratón.
1 Activo si se devuelven pulsaciones del boton 1 con movimiento del ratón.
0 Activo si se produce un evento al mover el ratón sin ningún boton pulsado.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouSetPtrPosEditar

MouSetPtrPos establece la fila y columna actual del cursor del ratón.

#define INCL_BASE
#include <os2.h> 

PPTRLOC PtrPos;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouSetPtrPos(PtrPos, MouHandle);

ParámetrosEditar

PtrPos Puntero a una estructura conteniendo los siguientes valores:
row (USHORT) Nueva fila del cursor.
col (USHORT) Nueva columna del cursor.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de errorEditar

0 Sin error
385 No hay ratón.
387 Parámetro no válido.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG