Pergunta : como simplificar isto

Olá!,

Shift: TShiftState; o

TShiftState = ajustou-se de (ssShift, ssAlt, ssCtrl, ssLeft do
, ssRight, ssMiddle, ssDouble);

Ok, mas seu nao compatível com outro línguas como C++
So que eu preciso do fazer compatível em meu Param, like

TMyParam = kbShift embalado do record
: DWORD;
end;

I am que faz desta maneira… o ssShift do

if no then
kbShift do deslocamento: = inteiro (ssShift); ssAlt do
if no then
kbShift do deslocamento: = kbShift ou inteiro (ssAlt); ssCtrl do
if no then
kbShift do deslocamento: = kbShift ou inteiro (ssCtrl);
//for cada tipo que eu preciso do fazer, mas talvez um laço pode fazer este? o

So que do
… eu posso chamar o ssCtrl reverso do like

if da maneira no

But do then
do kbShift…, mim pensa que há uma maneira melhor de fazer que… eu tentei dar laços mas nenhum success

kbShift: = -1;
for i: = baixo (TShiftState) ao do
if (de TShiftState) (then
kbShift de TShiftState (i) no deslocamento): = kbShift ou TShiftState (i); trabalho do

not do
…! idéia do hehe

Some?

Regards,
Carlos
class= do

Resposta : como simplificar isto

NOTA:
Soa como você a necessidade a constante virtual do código chave representada em sua variável de TShiftstate. Using o inteiro (ssShift), o inteiro (ssAlt), etc. não trabalhará porque retornará o valor ordinal do artigo do jogo. isto é o deslocamento retornará 0, alt retornará 1, etc. Eu sou consideravelmente certo isto não sou o que você quer.

se você precisa o valor chave virtual, usar qualquer outra coisa semelhante:
var kc: inteiro;

kc: = 0;
se ssShift em AShiftState então kc: = kc OU VK_SHIFT;
se ssCtrl em AShiftState então kc: = kc OU VK_CONTROL;
se ssALT em AShiftState então kc: = kc OU VK_MENU;

se você precisa do usar para mensagens do rato, usar qualquer outra coisa semelhante:
se ssShift em AShiftState então kc: = kc OU MK_SHIFT;
se ssCtrl em AShiftState então kc: = kc OU MK_CONTROL;
//alt não suportado na mensagem do rato, você teria que usar algo como GetKeyState determiná-lo

Outras soluções  
 
programming4us programming4us