Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо