DBGrid的inplaceEdit怎么无法触发Change事件(20分)

  • 主题发起人 主题发起人 qd_yjg
  • 开始时间 开始时间
Q

qd_yjg

Unregistered / Unconfirmed
GUEST, unregistred user!
TinplaceEdit是DBGrid中录入数据的输入框,在Grids单元。
我用的Delphi5,我想在InplaceEdit的Text变化的时候处理自己的一些东西。
发现DBGrid的inplaceEdit怎么无法触发Change事件
我把派生了TInplaceEdit一下,Parent指定成Form或者Panel,触发Change,
但是Parent指定成DrawGrid和DBgrid就无法触发Change事件,我也没发现消息在那里被拦截了。请高手指教!!!!!!
 
定义一个onchange事件,再在窗体创建时TEdit(DBGrid.TinplaceEdit).onchange := 你定义的那个change事件
 
晕,你肯定没看代码,我这么做了,根本就不执行,应该是在TCustomGrid的WM_Command里给屏蔽了,我写成Inherited后,ONChange事件执行了,但是发现一个问题:
例如原来输入的是'12',然后我选中'1',按空格键这个时候触发onchange事件2次,我发现TImplaceEdit的CreateParam里给Style多加了一个MULTILINE,我注释后就执行1次,我不是很明白消息的机制,现在能不能不去掉MULTILINE,还执行1次OnChange事件呢!
分不够可以再加!!!!!
 
我靠,没有高手了???分不够我可以再开贴加分的!!!!!!!!
 
后退
顶部