对沈前卫:希望当ItemIndex改变时,产生OnChange或onchanged 事件.
对LeeChange:那样做是不是不能call使用者的KeyPress事件或OnClick事件
了呢?
我也 曾这样做,但是不能调用OnClick了,所以我只好从TCustomListBox继承
并且不published OnClick属性.
constructor TMyList.Create(AOwner: TComponent);
begin
inherited;
Self.Width:=150;
Self.Height:=150;
Self.OnClick:=CheckItemChangeM;
Self.OnKeyPress:=CheckItemChangeK;
Self.ItemIndex:=0;
FOldItemIndex:=0;
end;
procedure TMyList.CheckItemChangeM(Sender: TObject);
begin
//if Assigned(OnClick) then OnClick(Sender);
if (FOldItemIndex<>Self.ItemIndex) then begin
FOldItemIndex:=Self.ItemIndex;
if Assigned(OnChange) then OnChange(Sender);
end;
FOldItemIndex:=Self.ItemIndex;
end;
......