Avatar billede heyn Nybegynder
17. marts 2008 - 16:53 Der er 3 kommentarer og
1 løsning

At aflæse KeyPress event.

Hej Eksperter

Jeg anvender editoren CodeGear som bruger en Borland compiler.
Jeg ønsker at aflæse værdien af en key når den aktiveres. Jeg har søgt med lys og lygte, men getch fungerer kun i konsol, cin kræver returtast osv.
Til sidst prøvede jeg at oprette en keyevent i selve formularen. Den er således:

void __fastcall TForm_tastatur::FormKeyPress(TObject *Sender, char &Key)
{
    inputet[10]->Caption = "a";  // inputet[x] er et array af Tlabels

    if (start == true) {
        if (inputnr < laengde) {
            inputet[inputnr]->Caption = Key;
            inputnr++;
        }
        else{
            start = false;
        }
    }
}

TForm_tastatur er simpelthen hovedformularen for programmet.

linien inputet[10]->Caption = "a"; er indført for at teste om der overhovedet sker noget. Det gør der ikke!!!
Det lader til at eventet slet ikke bliver aktiveret når jeg trykker på en tast.

Har nogen en god ide til hvordan mit problem løses?

God påske fra Christian
Avatar billede dehdar Nybegynder
17. marts 2008 - 17:06 #1
Hej Christian, kunne du ikke overload cin operatoren?
Avatar billede heyn Nybegynder
17. marts 2008 - 17:13 #2
overload - jeg er ikke helt med - hvordan? Kræver cin ikke også aktivering af returtast?
Avatar billede dehdar Nybegynder
18. marts 2008 - 12:18 #3
Jeg mente følgende vil virke, men det kræver også en returtast, beklager.

cin >> setw(1) >> x;
Avatar billede agnerbo Nybegynder
27. marts 2008 - 14:26 #4
Hej

Hvis ActiveControl ikke er formen men f.eks. et editfelt. Så bliver FormKeyPress-eventet ikke kaldt. KeyPressEvent på ActiveControl bliver kaldt.

prøv at sætte KeyPressEvent'et på alle controls i din form. I Sender kan du se hvilken control der kalder eventet. Du kan godt brug samme event til alle controls.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester