당신은 인터 포저 클래스를 사용하여 TEdit
를 서브 클래스하고, WM_PASTE
메시지에 대한 처리기를 추가해야 할 것 :
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, adsdata, adsfunc, adstable;
type
TEdit= class(StdCtrls.TEdit)
procedure WMPaste(var Msg: TWMPaste); message WM_PASTE;
end;
type
TForm3 = class(TForm)
AdsTable1: TAdsTable;
Edit1: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
uses
Clipbrd;
{ TEdit }
procedure TEdit.WMPaste(var Msg: TWMPaste);
var
TempTxt: string;
begin
TempTxt := Clipboard.AsText;
TempTxt := StringReplace(TempTxt, #13#10, #32, [rfReplaceAll]);
Text := TempTxt;
end;
end.
그리고 당신은 하나의 특정 경우가 있고 하위 클래스는 잔인한 느낀다면, 당신은을 할당 할 수 있습니다 'YourEdit.WindowProc'에 대한 새로운 메시지 처리기. – GolezTrol