AGB  ·  Datenschutz  ·  Impressum  







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

TEdit komplett markieren bei Mausklick

Ein Thema von ralfiii · begonnen am 22. Dez 2008 · letzter Beitrag vom 27. Dez 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#1

TEdit komplett markieren bei Mausklick

  Alt 22. Dez 2008, 11:53
Hallo!

Ich hätte gerne, dass ein TEdit-Feld erstmal alles markiert wenn der User draufclickt.
(So dass man drauflosschreiben kann um den Inhalt zu überschreiben und nicht erst alles markieren muss)

Erst wenn das Edit schon den Fokus hat und mann nochmal klickt soll nur der Mauscursor zu sehen sein.
(so verhält sich z.B. die Addressleiste beim Firefox)

Wie mach ist das? (SelectAll in OnEnter aufrufen tut's beispielsweise nicht)

Danke!
Ralf
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TEdit komplett markieren bei Mausklick

  Alt 22. Dez 2008, 12:03
SendMessage(Edit1.handle, EM_SETSEL, 0, -1); Hoffe das hilft??
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: TEdit komplett markieren bei Mausklick

  Alt 22. Dez 2008, 12:05
Delphi-Quellcode:
procedure TForm1.Edit1Click(Sender: TObject);
begin
 with (Sender as TEdit) do
 begin
   if Tag = 0 then
   begin
     Perform(EM_SETSEL, 0, -1);
     Tag := 1;
   end;
 end;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  (Sender as TEdit).Tag := 0;
end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#4

Re: TEdit komplett markieren bei Mausklick

  Alt 22. Dez 2008, 12:18
Danke!

Ein
     PostMessage(Edit1.handle, EM_SETSEL, 0, -1); in den OnEnter-Event uns alles ist gut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#5

Re: TEdit komplett markieren bei Mausklick

  Alt 24. Dez 2008, 12:09
Wie wäre es einfach mit .AutoSelect auf True setzen und alles is Gut?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#6

Re: TEdit komplett markieren bei Mausklick

  Alt 24. Dez 2008, 13:01
Zitat von himitsu:
Wie wäre es einfach mit .AutoSelect auf True setzen und alles is Gut?
Zitat von ralfiii:
Ich hätte gerne, dass ein TEdit-Feld erstmal alles markiert wenn der User draufclickt.
Geht das bei dir tatsächlich?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#7

Re: TEdit komplett markieren bei Mausklick

  Alt 24. Dez 2008, 14:37
es wird alles markiert, sobald das Edit den Focus bekommt und bei einem weiteren Klicken passiert nichts mehr,
also genauso wie er es möchte

Zitat von ralfiii:
Hallo!

Ich hätte gerne, dass ein TEdit-Feld erstmal alles markiert wenn der User draufclickt.
(So dass man drauflosschreiben kann um den Inhalt zu überschreiben und nicht erst alles markieren muss)

Erst wenn das Edit schon den Fokus hat und mann nochmal klickt soll nur der Mauscursor zu sehen sein.
(so verhält sich z.B. die Addressleiste beim Firefox)

Wie mach ist das? (SelectAll in OnEnter aufrufen tut's beispielsweise nicht)

Danke!
Ralf
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von ts230
ts230

Registriert seit: 14. Jun 2008
Ort: San Jose,CA
2 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: TEdit komplett markieren bei Mausklick

  Alt 24. Dez 2008, 19:44
Edit1.SelectAll;
Gruß ts230
die Tiersendung
  Mit Zitat antworten Zitat
Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: TEdit komplett markieren bei Mausklick

  Alt 25. Dez 2008, 01:07
Es gibt noch 'ne Möglichkeit:

Delphi-Quellcode:
procedure btnXYClick(Sender: TObject);
begin
  edt.SetFocus;
  edt.SelStart := 0;
  edt.SelLength := Length(edt.Text);
end;
Ich weiss nicht, obs auch mit OnEnter klappt. Ausprobieren.
btnXY ist bei mir ein Defaultbutton.

Könnte aber sein, dass auch dieses nicht beim Klick funktioniert.
Ich vermute, dass die Reihenfolge der Ereignisse erst den OnFocus auslöst und dann das Klick den Focus an die Position der Maus setzt und damit die Selektion aufhebt.

Dann könntest Du aber das OnClick-Ereignis mal testen, obs in der Routine funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#10

Re: TEdit komplett markieren bei Mausklick

  Alt 25. Dez 2008, 01:16
Also bei meinen Edits, die ich hier produzieren kann, ist AUTOSELECT:=true STANDARD!

Und dabei wird im Edit zwar beim Enterereignis über Tastatur alles markiert, bei der Maus wird bei einfach Klick nichts markiert, bei Doppelklick funktioniert das dann erst wieder.

Somit ist der allererste Vorschlag wohl am effizientesten.
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 15:22 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