AGB  ·  Datenschutz  ·  Impressum  







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

Richedit OnBeforeChange

Ein Thema von Culxxaw · begonnen am 28. Jan 2010 · letzter Beitrag vom 29. Jan 2010
Antwort Antwort
Culxxaw

Registriert seit: 21. Okt 2008
40 Beiträge
 
#1

Richedit OnBeforeChange

  Alt 28. Jan 2010, 16:12
Hallo liebe DP Community,

wollte einmal fragen, ob es eine Möglichkeit gibt einem Richedit ein OnBeforeChange-Event beizubringen. Also im Prinzip ein Event, dass ausgeführt wird bevor die Änderung im Richedit übernommen wird. Das Standard OnChange-Event wird leider erst hinter der sichbaren Änderung ausgeführt.

Danke im Voraus
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: Richedit OnBeforeChange

  Alt 28. Jan 2010, 16:18
Hilft vielleicht OnKeyPress? Dort kannst du den entsprechenden Tastendruck abfangen. Allerdings wird dann immer noch Copy & Paste möglich sein.

Ansonsten musst eben einfach Ableiten (TCustomRichEdit) und hoffen, dass du die entsprechende Methode überschreiben kannst.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Culxxaw

Registriert seit: 21. Okt 2008
40 Beiträge
 
#3

Re: Richedit OnBeforeChange

  Alt 28. Jan 2010, 16:25
Das ist das Problem. OnKeyPress hilft leider nicht. Das verschieben von Wörtern mit der Maus und Copy&Paste wäre dennoch möglich.
Das mit dem Ableiten habe ich mir schon gedacht. Allerdings habe ich absolut keine Ahnung welche Methode ich dort überschreiben muss. Der Code nach dem Motto:

Code:
procedure TmeinRE.change;
begin
//vor onchange
inherited;
end;
... klappt leider nicht. Wahrscheinlich weil das ganze Ereignis ja erst nach der Änderung ausgeführt wird.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Richedit OnBeforeChange

  Alt 28. Jan 2010, 16:37
Copy&Paste funktioniert auch über Windowsbotschaften, welche man abfangen kann
und das Verschieben mit der Maus lößt bestimmt auch irgendwas aus.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

Re: Richedit OnBeforeChange

  Alt 28. Jan 2010, 17:05
Zitat von himitsu:
Copy&Paste funktioniert auch über Windowsbotschaften, welche man abfangen kann
und das Verschieben mit der Maus lößt bestimmt auch irgendwas aus.
Aber wäre es nicht sinnvoller zu schauen, wie man ein OnBeforeChange-Ereignis einfügt? Ich weiß halt von vorn herein nicht, wie viel Arbeit das bedeuten kann und wo genau man ansetzen muss. Habe Edits meist auf "höherer Ebene" abegeleitet.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Culxxaw

Registriert seit: 21. Okt 2008
40 Beiträge
 
#6

Re: Richedit OnBeforeChange

  Alt 29. Jan 2010, 00:08
Also mit der Methode von himitsu könnte man sich ein OnBeforeChange-Event selber basteln.

Im JvRichedit gibt es das sogennante "OnGetDragDropEffect"-Event, dass ausgelöst wird, bevor ein Stück Text mit der Maus verschoben wird (Drag&Drop halt...). Dies in Kombination mit folgender Quelle: How do i intercept the Onpaste event... (habe es noch nicht für Richedit getestet) und dem OnkeyPress-Event ergibt eigentlich ein OnBeforeChange-Event.

Das ist wahrscheinlich eine sehr unfeine Methode aber es müsste funktionieren. Hoffe ich habe keinen Weg ausgelassen. Ich werde das bei der nächsten Möglichkeit einmal testen, bin aber trotzdem jederzeit für Verbesserungsvorschläge offen.
  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 07:06 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