Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > CEdit из другого класса |
Автор: Elizaveta85 31.5.2013, 23:41 |
Здравствуйте! У меня есть класс CnotepadDlg, где есть форма. На этой форме элемент edit класса CEdit . Мне нужно при нажатии на Enter не только перейти на новую строку, но и напечатать номер строки, например 1. 2. 3. ... Если я правильно поняла, то мне нужно создать отдельный класс, где буду отлавливать событии от клавиатуры. 1. Можно ли это сделать не создавая другой класс? 2. Создала отдельный класс ClEdit и указала что базовым классом является CDialog. Сложность в том, что я не могу получить доступ к CEdit. Что мне для этого нужно? 3. Есть ли похожие примеры? В MSDN пока не понятно где смотреть, да и пока тяжеловато. |
Автор: Earnest 3.6.2013, 07:46 |
Класс нужен только родительскому окну, для эдита создавать его не нужно. Допустим, есть окно (pWnd), а на нем дочерний элемент edit с ид-ром IDC_EDIT. При вводе любого символа в эдит родительское окно pWnd получает уведомление EN_CHANGE. Чтобы его отловить, в карту родительского окна нужно добавить соответствующий обработчик (ON_EN_CHANGE) Доступ к эдиту можно получить через родительское окно pWnd->GetDlgItem (IDC_EDIT). |