AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

In Grid-Zelle an Cursor-Position was einfügen

Ein Thema von Jumpy · begonnen am 5. Jan 2011 · letzter Beitrag vom 5. Jan 2011
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#1

In Grid-Zelle an Cursor-Position was einfügen

  Alt 5. Jan 2011, 07:31
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
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: In Grid-Zelle an Cursor-Position was einfügen

  Alt 5. Jan 2011, 07:49
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;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: In Grid-Zelle an Cursor-Position was einfügen

  Alt 5. Jan 2011, 08:03
Ohne Zwischenablage ließe sich dieser Tipp evtl. noch dahingehend erweitern, dass man SelText des InplaceEditors setzt (nicht ausprobiert, nur ein Gedanke).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: In Grid-Zelle an Cursor-Position was einfügen

  Alt 5. Jan 2011, 08:44
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.
Ralph

Geändert von Jumpy ( 5. Jan 2011 um 08:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: In Grid-Zelle an Cursor-Position was einfügen

  Alt 5. Jan 2011, 09:19
Zitat:
g.Controls[0] die Zelle ist
der InplaceEditor der Zelle sofern vorhanden...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz