Delphi - 改变TComboBox的OnChange

1 delphi delphi-5

我想更改,TComboBox以便如果我在其中键入文本或手动设置Text属性,它将触发OnChange事件.

就像现在一样,做ComboBox.Text := 'blah'不会触发OnChange事件,也不会在框中输入.

我尝试创建一个TComboBox后代,我认为这是正确的方法,但我不确定如何更改触发事件的内容.

Dav*_*nan 6

据我所知,键入组合框将导致OnChange事件触发.但确实修改text属性确实没有.

OnChange为你的组合框开火的方法是处理这个CM_TEXTCHANGED消息.这个处理程序需要调用该Change方法,然后调用该方法OnChange(如果已分配).

举个简单的例子,这是一个内插器类实现:

type
  TComboBox = class(StdCtrls.TComboBox)
  protected
    procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED;
  end;

procedure TComboBox.CMTextChanged(var Message: TMessage);
begin
  inherited;
  Change;
end;
Run Code Online (Sandbox Code Playgroud)