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

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

Tab Control -? [D6, D7, 95/98, 2000, XP]


Страницы:   1 2

TIF ©   (2007-09-15 13:21:00) 

Здравствуйте.

Вопрос такой: когда нажимаю TAB, то происходит фокусировка на Таб Контрол, и потом можно передвигаться по его вкладкам (с помоью "стрелка влево", "стрелка вправо"). Надо: как-то запретить такой переход, чтобы нельзя было с помощью клавиатуры переходить с одной вкладки на другую.

Пожалуйста, помогите, а то уже месяц бьюсь на этим, но никто не может ничего дельного сказать.


{RASkov}   (2007-09-15 14:05:00) [21]

> [0] TIF ©   (15.09.07 13:21)

Если я правильно понял, то можно так попробывать:

TForm1 = class(TForm)
   .....
   TabControl1: TTabControl;
   procedure FormCreate(Sender: TObject);
 private
   OldWndProc: TWndMethod;
   procedure NewWndProc(var Mes: TMessage);
 public
   { Public declarations }
 end;
................
procedure TForm1.FormCreate(Sender: TObject);
begin
 OldWndProc:=TabControl1.WindowProc;
 TabControl1.WindowProc:=NewWndProc;
end;

procedure TForm1.NewWndProc(var Mes: TMessage);
begin
 if Mes.Msg=WM_KEYDOWN then begin
  with TWMKey(Mes) do
  if (CharCode=VK_LEFT) or (TWMKey(Mes).CharCode=VK_RIGHT) then CharCode:=0 else OldWndProc(Mes);
 end else OldWndProc(Mes);
end;


Страницы:   1 2

Наверх

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