Как связать объект (например поле редактирования), созданный во время дизайна диалогового окна, с уже созданным классом (например, проитзводным от CEdit)
P.S. мне это нужно чтобы отслеживать нажатия клавиш, а в частности, чтобы диалог не закрывался на Enter
Здравствуйте, MrTorture, Вы писали:
MT>Как связать объект (например поле редактирования), созданный во время дизайна диалогового окна, с уже созданным классом (например, проитзводным от CEdit) MT>P.S. мне это нужно чтобы отслеживать нажатия клавиш, а в частности, чтобы диалог не закрывался на Enter
Class Wizard -> Member Variable -> Выбираешь Control ID -> Add Variable и т.д.
Здравствуйте, fox-mulder, Вы писали:
FM>Здравствуйте, MrTorture, Вы писали:
MT>Как связать объект (например поле редактирования), созданный во время дизайна диалогового окна, с уже созданным классом (например, проитзводным от CEdit) MT>P.S. мне это нужно чтобы отслеживать нажатия клавиш, а в частности, чтобы диалог не закрывался на Enter
FM>Class Wizard -> Member Variable -> Выбираешь Control ID -> Add Variable и т.д.
В приципе можно и так, т.е. связать контрол с CEdit, а потом зайти в .h файл и переправить этот CEdit, на свой класс.
Однако в MFC есть еще один прикол, называется SubclassDlgItem, вызывается в OnInitDialog твоего диалога, в качестве параметров передается ID контрола и указатель на уже существующий объект класса, производного от CWnd, т.е. и твой производный от CEdit также подойдет.
Здравствуйте, MrTorture, Вы писали:
MT>Как связать объект (например поле редактирования), созданный во время дизайна диалогового окна, с уже созданным классом (например, проитзводным от CEdit) MT>P.S. мне это нужно чтобы отслеживать нажатия клавиш, а в частности, чтобы диалог не закрывался на Enter
Ну нажатия клавиш мона в OnChar() или PreTranslateMessage() в диалоге отлавливать. А что не закрывался диалог сделай default кнопкой какую нибудь другую кнопку или переопредели OnOk().