FormKeyPress funktioniert nicht
-
Habe per FormKeyPress probiert auf Knopfdruck etwas auf ein Editfeld ausgeben.. Hab alles korrekt geschrieben aber wenn das Programm läuft passiert nichts auf Knopfdruck.
void __fastcall TRechner::FormKeyPress(TObject *Sender, char &Key) { switch ( Key ) { case VK_NUMPAD0: edi_display->Text+="0"; break; case VK_NUMPAD1: edi_display->Text+="1"; break; // Usw .. }
-
Hallo,
hast Du die KeyPress vom Edit genommen oder von der Form?
Musst die vom Edit-Control nehmen.
Grüsse Stefan
-
Geht auch nicht, tut sich nichts im editfeld
-
Das Ereignis OnKeyPress gibt dir ja ein 'char' als Parameter. Das ist dann schon das umgewandelte ASCII-Zeichen. Wenn du virtuelle Keys (VK_...) abfragen willst, dann mußt du das Ereignis OnKeyDown bzw. OnKeyUp nehmen...
-
NUM eingeschaltet? Kleiner Scherz..
Setze es z.B. mal so ein (also Deines in Key=='0' usw.):
void __fastcall TForm1::frm1_cb2_UhrzeitKeyPress(TObject *Sender, char &Key) {if(Key<20 || Key==32) { return; } // Backspace, TAB, Space usw. immer erlauben if((Key<'0' || Key>'9') && Key!=':') { Key=0; } // 01 NUR ZAHLEN UND : }Oder rufst Du etwas KeyPress auf?? Wieso addierst Du etwas in ein
Edit? Wo ist denn der Focus wenn Du die Tasten drückst?
Stefan
-
Hallo,
versuch es mal damit... funzt 1a:
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key) {switch ( Key ) { case '0': edi_display->Text = edi_display->Text + "0"; break; case '1': edi_display->Text = edi_display->Text + "1"; break; // Usw .. } }Ps: Vergess net bei deinen Form die Propertie KeyPreview net auf true zu setzen!
cya
-
Th schrieb:
Das Ereignis OnKeyPress gibt dir ja ein 'char' als Parameter. Das ist dann schon das umgewandelte ASCII-Zeichen. Wenn du virtuelle Keys (VK_...) abfragen willst, dann mußt du das Ereignis OnKeyDown bzw. OnKeyUp nehmen...
Geht mit buchstaben à la 't' auch nicht
..
-
@mulo: Hast du mal meine Lösung probiert?
-
.. sorry , bin zu dumm zum zitieren
-
Th schrieb:
Das Ereignis OnKeyPress gibt dir ja ein 'char' als Parameter. Das ist dann schon das umgewandelte ASCII-Zeichen. Wenn du virtuelle Keys (VK_...) abfragen willst, dann mußt du das Ereignis OnKeyDown bzw. OnKeyUp nehmen...
Geht mit buchstaben à la 't' auch nicht
..karlos, deins geht auch nicht.
-
Hast du auch im Objektinspektor bei deinen Form die Propertie KeyPreview auf true gesetzt??? Weil wenn du das nicht machst kommt auch nichts!! Und du mußt die KeyPress Methode von deinen Form nehmen!!!
-
Ja hab ich gemacht, geht trotzdem nicht, weder mit FormKeyPress noch mit edi_displayKeyPress, noch mit if ( ) oder mit switch.
-
Hallo
versuch mal mit dem Debugger zu schauen
ob du ueberhaupt in FormKeyPress kommstMfg
Klaus
-
KlausB schrieb:
Hallo
versuch mal mit dem Debugger zu schauen
ob du ueberhaupt in FormKeyPress kommstMfg
KlausWie mach ich das .-.
-
Hallo
einen Haltepunkt in FormKeyPress (switch) setzen
und dein Programm mit F9 starten
und dann deine Tasten drueckenMfg
Klaus
-
KlausB schrieb:
Hallo
einen Haltepunkt in FormKeyPress (switch) setzen
und dein Programm mit F9 starten
und dann deine Tasten drueckenMfg
Klausmeinste
switch ( Key ) ? Das benutze ich bereits
-
Hallo,
Schau erstmal hier rein
http://www.junix.ch/bcb/help/debug.html