Страница 1 из 1

TWinControl.SelectNext

Добавлено: 13 июл 2004, 15:28
Dmitry
Где я туплю?:
есть класс TEditEx = class(TCustomEdit), в нем пишу в KeyPress:

Код: Выделить всё

...
Parent.SelectNext(Self, true, true);
...
Этот код даже не хочет компилироваться :?:
Parent is TWinControl, TWinControl имеет метод SelectNext
В чем проблемы?

Добавлено: 13 июл 2004, 15:32
Dmitry
Забыл сказать, что сейчас работает такой код:
if (Owner is TCustomForm) then (Owner as TCustomForm).Perform(WM_NEXTDLGCTL, 0, 0);

Добавлено: 13 июл 2004, 17:24
Eugie
К сожалению, метод SelectNext объявлен как protected и поэтому не может быть квалифицирован именем объекта за пределами области видимости (в данном случае, самого класса TWinControl и его наследников). Пользуйтесь WM_NEXTDLGCTL.

Добавлено: 13 июл 2004, 18:04
Dmitry
"Догадался" посмотреть Controls.pas, действительно все правильно. Но из каких соображений они не поставили этому методу тип virtual?

Добавлено: 13 июл 2004, 18:21
Eugie
При чем здесь virtual? А почему не объявили public-ом, не знаю.