Text im Eingabefeld markieren


Um Text zu markieren, tragen Sie in die beiden kleinen Editfelder des Beispielprogramms bitte die Start- und Endposition ein. Benutzen Sie dann den Button "Markieren", und der Text im oberen Eingabefeld wird gemäß Ihren Angaben markiert. Wenn nichts passiert, dann haben Sie wahrscheinlich keine Angaben gemacht. Wie funktioniert es?

Mit der schon bekannten Nachricht "WM_GETTEXT" werden zunächst Ihre Angaben aus den beiden kleinen Eingabefeldern ausgelesen und mit Hilfe von "val" in numerische Werte konvertiert:

SendMessage(hwndEdit3, WM_GETTEXT, 1024, Integer(@buffer));
val(buffer, SelStart, code);

Wenn auf diese Weise Start- und Endpunkt klar sind, müssen beide Werte nur mit der Eingabefeld-Nachricht "EM_SETSEL" an das Eingabefeld übermitteln, wodurch die Markierung dann vorgenommen und sichtbar wird:

SendMessage(hwndEdit1, EM_SETSEL, SelStart, SelEnd);