AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Event bei Änderung der Cursorposition (TEdit)
Thema durchsuchen
Ansicht
Themen-Optionen

Event bei Änderung der Cursorposition (TEdit)

Ein Thema von himitsu · begonnen am 20. Okt 2009 · letzter Beitrag vom 20. Okt 2009
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

Event bei Änderung der Cursorposition (TEdit)

  Alt 20. Okt 2009, 11:44
Tachchen,

gibt es irgendwo ein Event, welches eintritt, wenn man den Eingabe-Cursor in einem TEdit irgendwie verschiebt?
(egal ob Maus, Tastatur, ...)

OK, ich könnte einfach pollen und über 'nen Timer dieses ständig prüfen, aber anders wäre es mir schon lieber

MfG dat himilein



PS: es geht darum, in diesem noch knuffigem Tachenrechner, eine Aktion auszulösen wenn man sowas macht.
(keine Sorge ... ein paar weitere Funktionen und meine kleine StringMatheLib kommen auch irgendwann mal da rein)

schon witzig, was man alles mit D7, nur Standardkomponenten und 'nen klitzekleinem erweitertem TEdit so alles machen kann


[add]
ach ja, ich arbeite nur mit Standardkomponenten, aber ein Message in das TEdit reinzubekommen, wäre kein Problem
Angehängte Dateien
Dateityp: exe tachenrechner_119.exe (412,0 KB, 4x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Event bei Änderung der Cursorposition (TEdit)

  Alt 20. Okt 2009, 11:49
Mir ist von einem Edit keine derartige Message bekannt. Du kannst nur selber die Tasten und Mausereignisse abfangen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Event bei Änderung der Cursorposition (TEdit)

  Alt 20. Okt 2009, 11:54
also OnKeyPress liefert schonmal keine Tasten, aber mir wfällt grad auf ... ich hab die ganze Zeit OnKeyDown vergessen ... bin gleich wieder da ... nur mal schnell testen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Event bei Änderung der Cursorposition (TEdit)

  Alt 20. Okt 2009, 12:02
Am besten du leitest von TEdit ab, erstellst ein eigenes Event und prüfst das OnKeyUp - und OnMouseUp-Event.
Oder kann man den noch irgendwie anders ändern?

Auf-die-Sprünge-hilf-code:
Delphi-Quellcode:
type
  TOnEditCursPosChanged = procedure of object;
var
  OnEditCursPosChanged: TOnEditCursPosChanged;
  LastCursPos: Integer;

//....

procedure TBluppForm.CheckIfCursPosChanged;
begin
  if LastCursPos <> edt1.SelStart then
  begin
    if Assigned(OnEditCursPosChanged) then
      OnEditCursPosChanged;
    LastCursPos := edt1.SelStart;
  end;
end;

procedure TBluppForm.edt1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  { **Vieeel Code** }

  CheckIfCursPosChanged;
end;

procedure TBluppForm.edt1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  { **Vieeel Code** }

  CheckIfCursPosChanged;
end;
Aber das dürfte so ganz performant sein.
(Da braucht man gar nicht auf die einzelnen Tasten prüfen, ist imho unsinn)

Aber auf keinen fall pollen. (also himi...^^)

[so, genug rumeditiert...]
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Event bei Änderung der Cursorposition (TEdit)

  Alt 20. Okt 2009, 12:04
Das wird dann wohl klappen:
Zitat von Hilfe (gekürzt):
Entspricht die Taste keinem ASCII-Zeichenwert, wird kein OnKeyPress-Ereignis generiert. [...] Verwenden Sie die Ereignisbehandlungsroutine für OnKeyDown oder OnKeyUp, um auf Nicht-ASCII-Tasten oder -Tastenkombinationen zu antworten.
3 ende rohr
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Event bei Änderung der Cursorposition (TEdit)

  Alt 20. Okt 2009, 15:08
joar OnKeyUp war die Lösung ... irgendwie hatte ich da wohl das berühmte Brett vom Köpfchen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 12:32 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