首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-02-19 
知道就算了,不知道的看一看.活跃气氛.有两种导致Edit.onchange事件触发一是有按键输入时二是给Text属性赋

知道就算了,不知道的看一看.活跃气氛.
有两种导致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; 

热点排行