In Lazarus wird der Clipboard-Inhalt allerdings zuerst in das Edit-Feld geschrieben und erst dann wird die WMPaste-Procedure abgearbeitet.
Das ganze macht dann natürlich keinen Sinn mehr, der Text steht ja schon im Textfeld.
Wie kann ich unter Lazarus das gleiche Ergebnis wie unter Delphi erreichen?
Delphi Quelltext:
Code: Alles auswählen
type
TXedit = class(TCustomEdit)
private
{ Private-Deklarationen }
procedure WMPaste(var Message: TWMPaste); message WM_PASTE;
.
.
.
procedure TXedit.WMPaste(var Message: TWMPaste);
begin
if not Clipboard.HasFormat(CF_TEXT) then Exit;
if Clipboard.AsText <> Vorgabe then Exit;
inherited;
end;
Code: Alles auswählen
type
TXEdit = class(TCustomEdit)
private
{ Private-Deklarationen }
procedure LMPasteFromClip(var Message: TLMessage); message LM_PASTE;
.
.
.
procedure TNumedit.LMPasteFromClip(var Message: TLMessage);
begin
begin
if not Clipboard.HasFormat(CF_TEXT) then Exit;
if Clipboard.AsText <> Vorgabe then Exit;
inherited;
end;