![]() |
In Grid-Zelle an Cursor-Position was einfügen
Frohes neues Jahr erstmal und dann direkt die Frage:
Ich habe verschiedene Buttons erstellt, die mir vordefinierte Worte in eine Grid-Zelle einfügen sollen und zwar an der Stelle an der gerade in der Grid-Zelle der Cursor steht. Aber ich hab keine Ahnung wie und ob das geht. Verliert das Grid nicht den Fokus, wenn ich den Button drücke und "vergisst" dann, in welcher Zelle und an welcher Stelle der Cursor stand? Idealerweise sollte es auch so sein, dass wenn der Cursor nicht einfach im Text steht, sondern irgend etwas im Text markiert ist, dass dann bei dem Einfügen das markierte ersetzt wird. Wäre für jede Idee und Schubs in die richtige Richtung dankbar. Wenn's mit dem Grid nicht geht, wäre es denn mit einem Edit-Feld machbar? Danke, Jumpy |
AW: In Grid-Zelle an Cursor-Position was einfügen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin // Celltext setzen g.Cells[g.Col,g.row] := 'Test' end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin // Celltext markierten Text ersetzen (Speedbutton um Focus nicht zu verlieren) if (g.ControlCount>0) and (g.Controls[0] is TwinControl) then begin TEdit(g.Controls[0]).seltext := 'Test'; { Clipboard.SetTextBuf('Test'); sendmessage(TWinControl(g.Controls[0]).handle,wm_paste,0,0); } end; end; |
AW: In Grid-Zelle an Cursor-Position was einfügen
Ohne Zwischenablage ließe sich
![]() |
AW: In Grid-Zelle an Cursor-Position was einfügen
Danke Bummi,
werd das gleich mal ausprobieren. Vor allem den zweiten Teil. Versteh ich das so, dass g.Controls[0] die Zelle ist? Ist Item 0 immer das "Aktive" Untersteuerelement eines Steuerelements? TEdit(g.Controls[0]).seltext := 'Test'; Sind die Zellen (Nachfolger von?) Edits? Und geh ich recht in der Annahme, dass das so dann auch mit TEdits selbst funktioniert? Clipboard.SetTextBuf('Test'); sendmessage(TWinControl(g.Controls[0]).handle,wm_paste,0,0); Das ist dann denk ich die Variante mit der Zwischenablage? Danach hätte ich wahrscheinlich als nächstes gefragt, vor allem der Teil, wie man was einfügt. Ich bin immer noch sehr beim Delphi (und OOP) lernen, deswegen die Nachfragen. Danke. |
AW: In Grid-Zelle an Cursor-Position was einfügen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz