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

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

Перегрузка TCustomGrid.KeyDown


Бывший студент ©   (2005-04-07 17:47:00) 

Создаю компонент с предком TStringGrid. Необходимо добавлять/удалять строки в run-time кнопками Ins/Del. Делаю так:
.
.
protected
procedure TMyGrid.KeyDown(var Key: Word; Shift: TShiftState); reintroduce; overload;
.
implementation
procedure TMyGrid.KeyDown(var Key: Word; Shift: TShiftState);
case Key of
Key_Insert: RowCount:=RowCount+1;
Key_Delete: RowCount:=RowCount-1;
end;
end;
end.
Не работает. Что не так?


Бывший студент   (2005-04-08 09:11:00) [1]

1) Огромное спасибо за содействие - работает;
2) Key_xx - аналог VK из юнита Qt, используются в предке,
  с ними компилируется, но не работает;
3) Видимо дело было ещё и в inherited.
Ещё раз спасибо.


Юрий Зотов   (2005-04-08 03:19:00) [2]

> Бывший студент ©   (08.04.05 00:37) [2]

> Не работает.

Странно, что вообще компилируется. Вместо того, чтобы обматериться на непонятные Key_xxx.

type
 TMyGrid = class(TStringGrid)
 protected
   procedure KeyDown(var Key: Word; Shift: TShiftState); override;
 end;

procedure TMyGrid.KeyDown(var Key: Word; Shift: TShiftState);
begin
 case Key of
   VK_INSERT:
     RowCount := RowCount + 1;
   VK_DELETE:
     RowCount := RowCount - 1
   else
     inherited
 end
end;

И ведь работает, однако.


Бывший студент   (2005-04-08 00:37:00) [3]

.
.
protected
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
.
implementation
procedure TMyGrid.KeyDown(var Key: Word; Shift: TShiftState);
inherited KeyDown(Key, Shift)
case Key of
Key_Insert: RowCount:=RowCount+1;
Key_Delete: RowCount:=RowCount-1;
end;
end;
end.
Не работает.


Юрий Зотов   (2005-04-07 20:10:00) [4]

procedure KeyDown(var Key: Word; Shift: TShiftState); override;


Наверх

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