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

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

KeyDown у tPanel [D2005, XP]


Евгений Р. ©   (2007-08-28 15:53:00) 

Есть наследник от tPanel
У него определена процедура
procedure KeyDown(var Key: Word; Shift: TShiftState); dynamic;
Процедура никогда не вызывается. Можно ли исправить ситуацию?


{RASkov}   (2007-08-28 17:35:00) [1]

> [3] Евгений Р.   (28.08.07 17:24)

А у меня вызывается....

 TMyPanel = class (TPanel)
 protected
   procedure KeyDown(var Key: Word; Shift: TShiftState); override;
 end;
........

implementation

{$R *.dfm}

{ TMyPanel }

procedure TMyPanel.KeyDown(var Key: Word; Shift: TShiftState);
begin
 inherited;
 Caption:=Caption+CHR(Key);
end;
//-------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
 with TMyPanel.Create(Self) do begin
  Parent:=Self;
  Caption:='1';
  SetFocus;
 end;
end;

end.


Евгений Р.   (2007-08-28 17:24:00) [2]

Конечно, override, но все равно не вызывается.


Юрий Зотов   (2007-08-28 16:06:00) [3]

Override, а не dynamic, наверное?


umbra   (2007-08-28 15:56:00) [4]

можно. Вызовите ее :)
Если серьезно, то непонятно, зачем она в наследнике определена.


Наверх

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