Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TRichedit (rx), bzw. Tedit - > Bing
Cheatzs - Sa 19.10.02 15:05
Titel: TRichedit (rx), bzw. Tedit - > Bing
Hi!
Ich hab ein kleines Problem mit meinen Kompos, die ich als Chat verwende, wenn ich in mein Tedit einen Text eingebe, dann auf Enter drücke, wird im Event OnKeyDown abgefangen, erkling so ein kurzer Ton. Genau dasselbe passiert, wenn ich irgendwas in mein T(RX)Richedit eingeben will, wenn es auf Readonly gestellt ist.
Kann man diesen Ton abschalten?
Und wenn ja, wie???
Danke
Tschau
(20.10.02 14:30 Tino) Signatur entfernt. Siehe Richtlinien.
DeCodeGuru - Sa 19.10.02 15:31
Wie man diesen Ping jetzt abschaltet, wüsste ich jetzt nicht. Aber wenn du für deinen Cht einen Button zum Senden verwendest, kannste da die Eigenschaft Default auf True setzen. DAmit wird, wenn Enter gedrückt wird, der Button gedrückt. -> Kein Bing und das Ergebnis ist das gleiche. Kannst es ja mal versuchen.
Cheatzs - Sa 19.10.02 17:37
Erstmal danke für deine Antwort, aber es geht leider immer noch nicht, es macht immer noch bing :( , ich vermute das leigt daran, dass ich den Button und das Edit in verschiedenen Panels gesteckt hab, wehen dem Design, oder muss man da noch was am Edit einstellen?
Nagut, auf jeden Fall Danke für deinen Vorschlag!
Wenn mir jemmand anders helfen kann, das wär nett.
Tschau
(20.10.02 14:31 Tino) Signatur entfernt. Siehe Richtlinien.
Tino - So 20.10.02 14:32
Versuch es mal so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| Procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); Begin If Key = 13 Then Begin Key = 0; // Text versenden oder so ?!?!
End; End; |
DeCodeGuru - So 20.10.02 14:36
dett funtzt nicht. Also bei mir nicht. Es macht nach wie vor "BING" :?
ich hätte jetzt aber ne Notlösung:
Setzt auf deiner Form die Eigenschaft KeyPreview auf True und dann schreibst du in das OnKeyPress-Ereignis deiner Form folgendes:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Key := #0; ShowMessage(Edit1.Text); end; end; |
Das hat bei mir dann gefuntzt. Problem ist halt, wenn man noch ein Memo drin hat, und das auch editieren will. Dann kommt trotzdem die Meldung.
Tja, also dachte ich mir folgendes: Fragen wir doch ab, ob das Edit focused ist. Wenn ja, dann die Meldung rausbringen bringen. Tja, dann hats wieder gebingt. Also, wenn einer ne Lösung haben, dann sei ihm gesagt, dass die mich auch interessiert.
P.S.: Ich werde mich auch nochmal dransetzen :wink:
DeCodeGuru - So 20.10.02 14:51
Juhu, ich habe ne Lösung gefunden. Also folgender Code hat bei mir jetzt gefuntzt. Ich frag mich zwar, wieso der vorher nicht gefuntzt hat, aber egal.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Edit1.Focused then begin Key := #0; ShowMessage(Edit1.Text); end; end; end; |
Cheatzs - Do 24.10.02 11:52
Vielen Dank!!!!
Es funzt jetzt.
(24.10.02 12:09 Tino) Signatur entfernt. Siehe Richtlinien.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!