Как грамотно поставить хук на клавишу?

Тема в разделе "WASM.BEGINNERS", создана пользователем TOLSTOPUZ, 10 янв 2009.

  1. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Есть три однострочных Эдита
    Фамилия, Имя, отчество.
    Необходима удобная возможность перескакивать
    на следующий контрол с помошью клавиши '27' (стрелка вправо)
    Пытаюсь сделать локальный хук...

    Короче, вот что я "наваял"...

    .code

    FiltrProc proc
    ; код
    FiltrProc endp

    .start

    ; Создаём окно и всё такое прочее...

    ;Ставим хук на нажатие клавиши...
    invoke SetWindowsHookEx, WH_KEYBOARD , FiltrProc , 0 , MyTRED

    ; Дальше ошибка - в процедуре FiltrProc
    ; Не могу её правильно оформить...
    : Подскажите, как туда вставлять параметры?
    Ну нифига не могу понять, туплю что-то - с самого утра парюсь...

    P.S.
    Аксилиратороф нинада
     
  2. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    >Необходима удобная возможность перескакивать
    >на следующий контрол

    Вы о диалогах слышали? Стандартных или кастомных (WS_TABSTOP, IsDialogMessage, DefDlgProc, etc)?
     
  3. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    МСДН
    WS_GROUP - Определяет первый элемент управления в группе элементов управления. Группа состоит из этого первого элемента управления и всех определенных элементов управления после него, до следующего элемента управления со стилем WS_GROUP. Первый элемент управления в каждой группе обычно имеет стиль WS_TABSTOP, чтобы пользователь мог перемещаться из группы в группу. Пользователь может впоследствии передавать фокус клавиатуры от одной группы элементов управления в следующую группу элементов управления, используя клавиши со стрелками.

    Вопрос - можно использовать стрелки вперёд-назад в одной группе ЭдитБоксов? А то тут сказано, что из одной группы в другую переход... Или очепятка?

    И всё равно комфорт неполный...
    Как использовать стрелки вверх - вниз для перескока на верхний - нижний ряд ЭдитБоксов? (ЭдитБоксов много).
    Не лучше ли 4 хука на стрелки поставить?

    Извиняюсь за тупые вопросы...
     
  4. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Научите плиз локальному хуку.
    Нифига не получается, а надобно срочно.

    P.S.
    Если есть яндекс-кошелёк - 500 руб на пиво сразу.
     
  5. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    перелать можно наверное под "стрелки"
     
  6. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    TOLSTOPUZ
    Вы, кстати, замечаете, что покусились на стандартное поведение ЭдитБоксов?
    Они ведь привыкли по этим стрелкам каретку возить.
     
  7. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    Да, это так. Но мне не нужно водить там каретку.
    Метод суперклассинга я реализовал, поглядел...
    не понравилось... :-(
    Он всё равно не позволяет большего. Только туды-сюды...
    А я хочу полную свободу в выборе конструкций условных переходов с контрола на контрол.(Не только Эдитов). Хочу локальный хук. Придётся видно самому копать... :-,
     
  8. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    TOLSTOPUZ
    Значит, комфортная правка в Edit-е вам не нужна...