Ver Mensaje Individual
  #23  
Antiguo 21-09-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Reputación: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ciertamente no había probado con el evento OnSelectCell que proponía Casimiro. Claro, el problema está en el evento. Cuando pulsamos Shift está pulsado constantemente, pero cuando lo simulamos lo despulsamos. Así al retroceder a una celda prohibida se simula un TAB sin Shift y se para...

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Escafandra, el código que has puesto creo que necesita algo más que no has puesto, me da error en la línea:
Código Delphi [-]
Input.Tipo:= INPUT_KEYBOARD;

Dice que no sabe qué es 'Tipo'. Hay otra propiedad, IType, o algo así, será esa la que hay que poner, ¿no?
Si..., Casimiro. La documentación de MS define así:
Código:
typedef struct tagINPUT {
  DWORD type;
  union {
    MOUSEINPUT    mi;
    KEYBDINPUT    ki;
    HARDWAREINPUT hi;
  };
} INPUT, *PINPUT;
Pero type es una palabra reservada en Delphi así que hice una conversión que olvidé publicar:
Código Delphi [-]
type
  TINPUT = record
  Tipo: DWORD;
  case integer of
    0: (mi: TMOUSEINPUT);
    1: (ki: TKEYBDINPUT);
    2: (hi: THARDWAREINPUT);
  end;  PTINPUT = ^TINPUT;
Ahora me doy cuenta de que en la unidad windows está definida la estructura y le dan el nombre de iType. Ese es el nombre que debes usar.


Saludos.

Última edición por escafandra fecha: 21-09-2011 a las 00:21:07.
Responder Con Cita