Rob -

I'm not sure I followed your explanation all that well. Here's the routine that I use (uses all bitwise operations and it's local so it's very fast):

procedure KeyToComponent(lparam:integer; var scan, rpt:integer; var keydown:boolean);
begin
scan:=(lparam and $00FF0000) shr 16; //gets the third byte value from a four byte integer
keydown:=(lparam and ($1 shl 29)) <> 0; //test bit 30 to see if it's set
rpt:=lparam and $FFFF; //gets the first two bytes
end;

Could you show how you would do it? I'm not familiar with LoWord and HiWord operators, I always just use pure bitwise operators.

Thanks,
m


__________________________________________________
Delphi-Talk mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi-talk

Reply via email to