Форум: "Основная";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c