Wklejanie ... długa opowieść ...
Dosć często, zarówno na desktopie jak i webie (javascript) pracowicie programista obstawia zdarzenia klawiaturowe i zabezpiecza (waliduje) jak to sobie w głowie wymyślił, a wklej jest niezabezpieczone.
Raz gwałciłem jako klient sklep internetowy, wydawało mu się że ulica jest nieprawidłowa (ach, ci javascritowcy) była odmowa na wklejaniu, ale pisanie ok, albo na odwrót.
Jeśli widzisz w jakimś programie destopowym wysokiej jakości obsługę (walidację, analizę czy undo, wsio ryba), to chyba nigdy nie jest na gołym komponencie (który skądinąd w 2/3 przypadków bazuje na natywnym Windowsowym), ale przez "wartośc dodaną" *)
Moim zdanie, najelegantsza droga do cofania, ale i do walidacji, analizy czy tez fragmentarycznego rozumienia tekstu (numerki na początkach linii, proste markupy jak bb-code, syntax color, czy wikitext) prowadzi, przez zaszycie swoje pracy w Modelu (coś do trzymania danych), a komponent wizualny tylko z nim wspołpracuje, wszelkie własne zasady się implementuje raz w stosunku do modelu, a nie wiele razy w stosunku do eventów.
Jak ożenić porządną praktykę MVC z Bor... Embecadero ... jakoś to było, nie pamiętam, nie mam w tych latach na żadnym komputerze. Zasadniczo one promują kiepskie praktyki, czego masz skutek.
*)
dobrym komponentem "wszystkomajacym" jest Scintilla