知道就算了,不知道的看一看.活跃气氛.解决办法

知道就算了,不知道的看一看.活跃气氛.
有两种导致Edit.onchange事件触发

一是有按键输入时
二是给Text属性赋值时.

如何区分是哪一种?


答案:
[color=#FFFFFF]判断 Edit1.Modified [/color]











------解决方案--------------------
看了VCL的源代码,VCL的是用TControl里的SetText方式来修改的,然后SetText发送消息方式,然后触发消息,然后发送消息给Edit修改
Delphi(Pascal) code

procedure TControl.SetTextBuf(Buffer: PChar);
begin
  Perform(WM_SETTEXT, 0, Longint(Buffer));
  Perform(CM_TEXTCHANGED, 0, 0);
end;

    WM_SETTEXT:
        begin
          P := StrNew(PChar(LParam));
          StrDispose(FText);
          FText := P;
          SendDockNotification(Msg, WParam, LParam);
        end;