Autor Beitrag
Leon_derZocker
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 20.03.18 11:59 
Hallo,
ich möchte einen Text markieren wenn ich mit der Maus auf das Textfeld gehe.
Das dies mit MouseEnter funktioniert weiß ich. Nur halt nicht wie. :cry: :nixweiss:

Vielen Lieben Dank schon mal im voraus
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6318
Erhaltene Danke: 127

Windows 7 + Windows 10
Tokyo Prof + CE
BeitragVerfasst: Di 20.03.18 12:37 
Meinst du sowas:
ausblenden Delphi-Quelltext
1:
edit1.SelectAll;					

Für diesen Beitrag haben gedankt: Leon_derZocker
Leon_derZocker Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 20.03.18 14:16 
Danke es funktioniert so wie ich es mir vorgestellt habe.
Kann man es auch so programmieren das ich das Mausrad drehe un damit den Wert ändern kann(in 5er Schritten)?
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2231
Erhaltene Danke: 416

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Di 20.03.18 14:22 
Die Selektion funktioniert in dem Fall auch nur, wenn das "Textfeld" vorher fokusiert ist. Man müsste mit dem Ereignis OnMouseEnter somit auch den Fokus setzen.

Damit das auch für mehrere "Textfelder" gilt, markier' im Design sämtliche "Textfelder", gehe in den Objektinspektor und trage im OnMouseEnter Ereignis einen passenden Namen ein, wie z.B. "AlleTextFelder".
So hast du eine AlleTextFelderMouseEnter() Methode, die für mehrere "Textfelder" gilt und das entsprechende Ereignis auslöst:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.AlleTextFelderMouseEnter(Sender: TObject);
var
  ctrl: TWinControl;
begin
  ctrl := FindVCLWindow(Mouse.CursorPos);          // sucht ein Steuerelement an jener Mausposition
  if (ctrl <> niland (ctrl is TEdit) then  // ist das Steuerelement auch initialisiert und ist das Steuerelement von der Klasse "TEdit"?
  begin
    TEdit(ctrl).SetFocus;                          // dann wandle das Steuerelement in ein TEdit um, fokusiere
    TEdit(ctrl).SelectAll;                         // und selektiere es
  end;
end;

Statt TEdit könntest du auch TCustomEdit nehmen, dann gilt es auch für "Textfelder" wie TMemo, TRichEdit und ähnliches, weil sie alle von der Klasse TCustomEdit abstammen.

Zitat:
Kann man es auch so programmieren das ich das Mausrad drehe un damit den Wert ändern kann(in 5er Schritten)?

Ja, mit einem TSpinEdit geht das.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)

Für diesen Beitrag haben gedankt: Leon_derZocker