Форум: "Начинающим";
Текущий архив: 2009.01.25;
Скачать: [xml.tar.bz2];
ВнизOnKeyDown при динамическом TPageControl Найти похожие ветки
← →
rhammer © (2008-12-10 15:05) [0]Есть форма, на ней создается динамически PageControl. Кидаю событие OnKeyDown на форму и ничего не происходит при нажатии клавиш, присваиваю в ходе создания компонента обработчик событий на Form1OnKeyDown - также ничего не происходит. В интернете ничего не накопал - прошу помощи.
procedure TTest.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
ShowMessage(IntToStr(Key));
end;
procedure TTest.FormShow(Sender: TObject);
var
T: TTabSheet;
P: TPageControl;
begin
P := TPageControl.Create(application);
with P do
begin
Parent := Panel1;
Align := alClient;
OnKeyDown := FormKeyDown;
end;
T := TTabSheet.Create(P);
with T do
begin
Visible := True;
Name:="Tab1";
Caption := "Страница1";
PageControl := P;
end;
end;
← →
clickmaker © (2008-12-10 15:56) [1]по идее, клавиатурные события отправляются окну, имеющему фокус ввода.
Значит пейджконтрол не в фокусе.
И почему владелец у него application, а не форма?
← →
Rhammer © (2008-12-10 16:11) [2]Спасибо, изменил на Self.
Насчет фокуса - поидее изначально он на форме, почему же тогда не срабатывает TTest.FormKeyDown?
← →
qqq (2008-12-10 16:12) [3]
> Насчет фокуса - поидее изначально он на форме
чего вдруг?
KeyPreview поставь
← →
Rhammer © (2008-12-10 16:18) [4]Спасибо, проблема решена
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.01.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c