Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
14-1094455946
1008
2004-09-06 11:32
2004.10.03
Вдруг кому интересно.


4-1093451780
Роман
2004-08-25 20:36
2004.10.03
опять список всех окон запущенных в системе


3-1094151683
Damager
2004-09-02 23:01
2004.10.03
Конвертация Paradox в Справочники 1С


14-1095319296
BiN
2004-09-16 11:21
2004.10.03
Смех да и только (ну цинник я, цинник)


6-1087309655
Shade
2004-06-15 18:27
2004.10.03
Передача / Приём файлов при помощи модема (свой Hyperterminal)




   Наверх