> > 1) чтобы после каждого ввода каколибо символа > вызывалась > > моя функция (ну нету почему то в Сlass Wizard'е > события OnKeyDown для CEdit )
1) Для CEdit (в буквальном смысле) по определению не может быть никаких событий в Сlass Wizard'е (если, конечно, этот визард написан не Вами;)) - это фаундейшен. Обращаю внимание на буквальность моей формулировки.
2) На мой взгляд, Вы немного путаете понятие "пропертей" контрола (Edit Control), который нарисован на диалоге, и которыми можно управлять при помощи визарда VC, и понятие обработчиков событий класса (дерайвед CEdit), которыми можно тоже управлять из "визарда", и который СВЯЗАН с Вашим контролом, и для которого создана переменная-член, например, в классе Вашего диалога..
3) Для того, чтобы в визарде, появилось то что надо Вам, следует, на мой взгляд:
- создать некий класс CMyEdit: public СEdit;
- переопределить там всё, что Вам надо обрабатывать. Тогода для этого класса CMyEdit Вам будет доступна обработка WM_KEYDOWN.
- после того, как нарисуете КОНТРОЛ (Edit Control) на диалоге, для этого контрола необходимо создать переменную - член Вашего класса, например, диалога. В разных случаях и для разных целей это делаю различным образом. Можете визардом, или руками (в последнем случае не забудьте добавить DDX_Control(pDX, IDC_ВАШ_ИДС, m_EditВаша_Перемернная_Член);)
В вашем случае можно вначале визардом, а потом изменить базовый класс CEdit на CMyEdit руками.
> По-моему, быстрее всего получить текущий текст контрола, > запихнуть туда то что надо, и записать новый текст обратно.
Он не может пока получить "текущий" текст.
|