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

Вниз

Ctrl+Tab в дочернем окне   Найти похожие ветки 

 
shc   (2004-09-15 12:16) [0]

Добрый день, мастера. Есть проблема. По умолчанию (и привычке) переход между закладками PageControla возможно по Ctrl+Tab. Но в дочернем окне (MDI) по этой комбинации происходит переход между дочерними окнами.
Как можно отловить эту комбинацию для перехода по закладкам


 
Abel   (2004-09-15 13:37) [1]

Попробуйте TApplicationEvents.OnMessage(var Msg: tagMSG; var Handled: Boolean) например...


 
shc   (2004-09-15 13:52) [2]

Пробывал. Проблема в том, что, по-моему, на одно нажатие комбинации, несколько раз выполняется код.


 
Abel   (2004-09-15 14:13) [3]

Вот работающий код (проверено):

procedure TMDIChild.ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean);
begin
 if (Self.Active) and
    (Msg.message = wm_keydown) and
    (Msg.wParam = vk_tab) and
    ((GetKeyState(VK_CONTROL) and 128) = 128) then
 begin
   if pc.ActivePageIndex = (pc.PageCount - 1) then
     pc.ActivePageIndex := 0
   else
     pc.ActivePageIndex := pc.ActivePageIndex+1;
   Handled := True;
 end;
end;


 
shc   (2004-09-15 14:30) [4]

Если не трудно, то можно уточнить: это процедура объявляется в дочерней форме или в главной (просто я объявлял в главной очень похожий ход)


 
Amoeba ©   (2004-09-15 14:34) [5]

А из заголовка метода разве не видно?


 
shc   (2004-09-15 14:47) [6]

> Amoeba
Сижу на работе. Делфя под рукой нету. Дома Инета нету. Лучше уточнить.


 
Amoeba ©   (2004-09-15 14:55) [7]

procedure TMDIChild.ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean);

Смотри внимательнее.


 
shc   (2004-09-15 15:58) [8]

Именно из-за этого названия и переспрашивал см.4


 
shc   (2004-09-17 12:06) [9]

Спасибо Abel.
Действительно, все проблемы исчезли после описания процедуры в дочернем окне.



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
1-1095699480
Klopan
2004-09-20 20:58
2004.10.03
CMD


3-1094131004
Донской
2004-09-02 17:16
2004.10.03
Триггер счетчика


6-1088472470
Глеб
2004-06-29 05:27
2004.10.03
Как мне узнать IP-адрес компьютера в сети, зная его имя?


3-1094640749
bss
2004-09-08 14:52
2004.10.03
Как отловить изменение данных в таблице базы MS Access?


11-1080899829
*pavel
2004-04-02 13:57
2004.10.03
ImageShow