Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Wie kann ich SynEdit sich wie eine TextBox benehmen lassen?
hydemarie - Di 16.02.16 01:34
Titel: Wie kann ich SynEdit sich wie eine TextBox benehmen lassen?
Mal doof gefragt:
SynEdit kann eigentlich genau das, was ich gerade brauche. Aber ich hätte gern ein SynEdit-Control, das sich wie eine normale TextBox verhält (nur eben mit Highlighting) - mit exakt 1 Zeile und ohne "schreiben, wohin man klickt".
Geht das?
jaenicke - Di 16.02.16 03:57
Das ist nicht so einfach. Das Aussehen geht schnell und mit "schreiben wohin man klickt" meinst du nach dem Zeilenende, oder? Das kannst du auch deaktivieren.
Dafür setzt du im Objektinspektor:
Delphi-Quelltext
1: 2: 3:
| Gutter.Visible auf False Options.eoScrollPastEol auf False ScrollBars auf ssNone |
Nun bleibt das größte Problem: Mehrzeiligkeit
Dafür kannst du die Entertaste abfangen. In Delphi sieht das so aus:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm85.SynEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then Key := 0; end; |
Nun hast du noch das Problem, dass der Benutzer mehrzeilige Texte aus der Zwischenablage einfügen kann. Das müsstest du auch noch unterbinden.
hydemarie - Di 16.02.16 08:59
Das wäre wohl sonst auch zu einfach gewesen..
Mit "Schreiben, wohin man klickt" meine ich, dass ich momentan an eine beliebige Stelle in der Box klicken kann und genau dort ein Cursor erscheint, auch vertikal versetzt.
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!