知道就算了,不知道的看一看.活跃气氛.解决办法
知道就算了,不知道的看一看.活跃气氛.
有两种导致Edit.onchange事件触发
一是有按键输入时
二是给Text属性赋值时.
如何区分是哪一种?
答案:
[color=#FFFFFF]判断 Edit1.Modified [/color]
------解决方案--------------------
看了VCL的源代码,VCL的是用TControl里的SetText方式来修改的,然后SetText发送消息方式,然后触发消息,然后发送消息给Edit修改
有两种导致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;