![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CreateEditor
Polevi © (2004-08-02 12:24:00)необходимо изменить поведение Inplace editor'a в TValueListEditor
function TValueListEditor.CreateEditor: TInplaceEdit;
begin
FEditList := TInplaceEditList.Create(Self);
EditList.DropDownRows := FDropDownRows;
EditList.OnEditButtonClick := FOnEditButtonClick;
EditList.OnGetPickListitems := EditListGetItems;
Result := FEditList;
end;
FEditList в private
property EditList: TInplaceEditList read FEditList;
ваши предложения, господа
мне кроме хакерства ничего в голову не лезет
Sandman25 (2004-08-02 12:50:00) [1]Понятно :)
Polevi (2004-08-02 12:49:00) [2]с бубном я плясать умею, не надо меня учить :)
просто если мой пост увидит вася из борланда, который написал этот sealed class - пусть ему будет стыдно :-)
Sandman25 (2004-08-02 12:45:00) [3][4] Polevi © (02.08.04 12:40)
Да, вполне. Бывает, что приходится целую иерархию заводить.
[5] Polevi © (02.08.04 12:41)
Ничего :)
function TValueListEditor.CreateEditor: TInplaceEdit;
begin
FEditList := TInplaceEditList.Create(Self);
EditList.DropDownRows := FDropDownRows;
...
property DropDownRows: Integer read FDropDownRows write SetDropDownRows default 8;
Если перекрыт CreateEditor, причем без вызова inherited, то SetDropDownRows не используется.
Polevi (2004-08-02 12:41:00) [4]procedure TValueListEditor.SetDropDownRows(const Value: Integer);
begin
FDropDownRows := Value;
if Assigned(EditList) then
EditList.DropDownRows := Value;
end;
что в этом месте прикажете перекрывать ?
Polevi (2004-08-02 12:40:00) [5]это вам кажется нормальным ?
Sandman25 (2004-08-02 12:39:00) [6]Насколько я разобрался, можно обойтись и без него.
Только надо будет перекрывать еще кучу методов, использующих FEditList.
Например, чтобы
function GetEditStyle(ACol, ARow: Longint): TEditStyle; override;
использовала уже Ваше поле, а не унаследованный FEditList
Polevi (2004-08-02 12:32:00) [7]спасибо, друг
а что делать с полем FEditList будем
Sandman25 (2004-08-02 12:28:00) [8]protected
function CreateEditor: TInplaceEdit; override;