Як зловити натискання кнопки в Edit

кнопки

Я маю діалогове вікно. Там є створене через CreateWindow текстове поле. Потрібно, щоб коли я натискаю "стрілку вправо" фокус переходив на інше текстове поле. Про TAB_STOP знаю. Питання, як зловити натискання кнопки для Edit?

case WM_CHAR у процедурі діалогового вікна не працює.

Є щось простіше, ніж завдання процедури вікна за допомогою SetWindowLong?

зловити

Простіше – не знаю, але ти не те повідомлення ловив. Треба WM_KEYDOWN чи WM_KEYUP.

ЗИ: Не добре так робити (якщо в їдіть вводиться не один символ) треба ж редагувати введене, а мишкою не завжди зручно.

кнопки

зловити

Знову дякую

Там вводиться якраз один символ - або 1, або 0. У мене масив з 32 едітів, які зображують розрядну сітку для числа float.

кнопки

кнопки

Слухай, ось ти у прикладі робиш таку штуку:

А що буде, якщо не повернути до класу стару процедуру?

зловити

Да нічого. В принципі, це пережиток вин16, де все було загальне (повний соціалізм), ось там могли бути глюки, що ти закрив свою прожку, а поведінка субласного контролю з'явилося в іншому додатку. (Що я сам такого не бачив). А тепер цією справою може зайнятися система (віндовса).

Ще є варіант, що у твоєму додатку кілька ВІКОН (а не діалогів), і в них ти субкласиш елементи управління, при закритті одного вікна, процес продовжує існувати, і може виявитися, що залишилася і виділена пам'ять під ту процедуру, на яку ти заміняв стандартну , і за жорстких вимог до економії пам'яті це може викликати невдоволення. (Кілька разів віконце відкрив - закрив, а пам'яті - тю-тю)