| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Переопределение CEdit |
| Автор: Алексеу 26.6.2008, 13:27 |
| Здравствуйте, господа! Нужно срочно написать программу типа блокнотика, однако застопорился на одной детали, которая никак не дает продвинуться в функционале - нужно чтобы в блокнотике работало контекстное меню своего образца. По умолчанию у CEdit свое контекстное меню. Его нужно убрать и заменить собственным. Для этого нужно переопределить класс CEdit, унаследовав его. Однако как это сделать? Вот так мы его наследуем: class EdBox : public CEdit { ... } а что нужно делать внутри чтобы убрать контекстное меню и поставить свое? Я просто в тупике... Буду очень благодарен за любую подсказку. |
| Автор: voov 26.6.2008, 13:36 |
| если нужна програмка типа блокнотика, то зачем эдит? По-моему, проще сделать проект типа SDI и класс представления унаследовать от CEditView или CRichEditView. Так объем работы будем меньше, а функциональность программки больше |
| Автор: Алексеу 26.6.2008, 13:39 |
| voov, к сожалению програмка учебная и нужно ее сотворить именно на основе CEdit, а вот как убрать стандартное меню... |
| Автор: tonchitos 26.6.2008, 14:08 |
| ну так в чем проблема - переопределите функцию контекстного меню, и в нем работайте со своим меню... главное ф-ию базового класса не вызывайте... |
| Автор: Алексеу 26.6.2008, 14:10 |
| tonchitos, а можете показать приблизительно как это делать? Собственно, для того и совета попросил т.к. не могу сделать этого... |
| Автор: tonchitos 26.6.2008, 14:27 | ||
типа такого, вот набросок:
всю фигню типа карты сообщений и прочего напишешь сам? |
| Автор: voov 26.6.2008, 14:29 | ||
меню должно быть попап, т.е. должен быть корневой элемент, который отображаться не будет, а все необходимые пункты меню должны быть внутри корневого |