Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wie Cursorposition in Edit1.text auslesen? (https://www.delphipraxis.net/107760-wie-cursorposition-edit1-text-auslesen.html)

Uwe.F. 1. Feb 2008 18:12


Wie Cursorposition in Edit1.text auslesen?
 
Hallo Zusammen,

gibt's ne Möglichkeit, die Cursorposition in Edit1.text auszulesen?
Edit1.selstart geht offensichtlich nicht - gibt nämlich immer 0 aus.

Beste Grüße,
Uwe

Die Muhkuh 1. Feb 2008 18:15

Re: Wie Cursorposition in Edit1.text auslesen?
 
Hi,

das sollte mit SelStart schon funktionieren. Zumindest macht es das bei mir:

Delphi-Quellcode:
Label1.Caption := IntToStr(Edit1.SelStart);
[edit] Detlef :tongue: [/edit]

DeddyH 1. Feb 2008 18:16

Re: Wie Cursorposition in Edit1.text auslesen?
 
Bei mir geht es sehr wohl mit Selstart.

[edit] Zu spät oder zu alt :? [/edit]

Uwe.F. 1. Feb 2008 18:28

Re: Wie Cursorposition in Edit1.text auslesen?
 
Hmm - ich will an der Stelle, wo der Cursor sich befindet, zwei Leerzeichen einfügen. Geht aber nicht, weil er mir immer 0 liefert:

Delphi-Quellcode:
procedure TForm1.Edit1DblClick(Sender: TObject);
var i: integer;
    T: string;
begin
  i:=Edit1.selstart;
  T:=Edit1.Text;
  Insert(' ', T, i);
  Edit1.Text:=T;
end;
Mit dem Doppelklick wird ja auch der Cursor positioniert ...

DeddyH 1. Feb 2008 18:33

Re: Wie Cursorposition in Edit1.text auslesen?
 
Mit Doppelklick wird doch der gesamte Text markiert und SelStart auf 0 gesetzt AFAIK.

Die Muhkuh 1. Feb 2008 18:45

Re: Wie Cursorposition in Edit1.text auslesen?
 
Hi Uwe,

wenn Du das bei einem Doppelklick machen willst, würde ich Dir folgende Vorgehensweise vorschlagen:

Bei einem einfachen Klick setzt Du eine Variable mit dem SelStart (das, was Du jetzt bei i := ... machst, nur eben bei einem normalen Klick) und beim Doppelklick führst Du dann das aus, was Du vor hast:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure Edit1Click(Sender: TObject);
    procedure Edit1DblClick(Sender: TObject);
  private
    { Private-Deklarationen }
    FEditSelStart: Integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Click(Sender: TObject);
begin
  FEditSelStart := Edit1.SelStart;
end;

procedure TForm1.Edit1DblClick(Sender: TObject);
var
  T: string;
begin
  T:=Edit1.Text;
  Insert(' ', T, FEditSelStart + 1);
  Edit1.Text:=T;
end;

Uwe.F. 1. Feb 2008 19:01

Re: Wie Cursorposition in Edit1.text auslesen?
 
Jau - tut :lol:

Es lag am Doppelklick. Verwende nun den einfachen Klick, und eine "Weiter"-Taste (Return und Cursor down).

Herzlichen Dank für die Tips!

Euer
Uwe

juergen 1. Feb 2008 19:43

Re: Wie Cursorposition in Edit1.text auslesen?
 
Hallo,
Selstart funktioniert IMHO nur, wenn alles markiert ist.

DeddyH 1. Feb 2008 19:44

Re: Wie Cursorposition in Edit1.text auslesen?
 
Nö, SelStart funktioniert auch, wenn nichts markiert ist.

juergen 1. Feb 2008 22:00

Re: Wie Cursorposition in Edit1.text auslesen?
 
Sorry, hab mich da total vertan mit CopyToClipboard... :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr.
Seite 1 von 2  1 2      

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