Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.25;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1228007664
Астро
2008-11-30 04:14
2009.01.25
Перевод функций на ассемблер и вставка их в Delphi Как лучше?


8-1190127135
S7r
2007-09-18 18:52
2009.01.25
Загрузка миниатюр как в GDIPlus


2-1229332728
Андрей Ал.
2008-12-15 12:18
2009.01.25
Обновление данных


1-1206585666
San1712
2008-03-27 05:41
2009.01.25
Как узнать адрес процедуры в потоке из модуля этой же программы?


2-1228467488
Sergey2
2008-12-05 11:58
2009.01.25
отключить включить локальное соединение.