| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > [MFC]Как получить доступ к методам??? |
| Автор: SAVEL 2.5.2008, 16:20 | ||
| Дело в том, что я пытаюсь реализовать програмку типа PAINT в MFC! Делаю её по аналогу как описано на РЕАЛКОДИНГЕ (глава 11 [URL=http://realcoding.net/article/view/1994 http://realcoding.net/article/view/1994[/URL] Да тут проблемка такая, что при описании там тонна синтаксических ошибок, и приходится самому разбираться в коду! В общем есть панель инструментов: карандаш, распылитель ... Как заставить их работать, может есть литература у кого? Или ссылочка на документацию? Т.к. ступор: Как получить достум к методам СToolBarCtrl если объект я объявил как CToolBar? Вот опишу кусочек кода с реалкодинга, где описывается как эту прогу делать:
Буду весьма признателен если кто - нибуть поможет мне разобраться с этой загагулиной!!! |
| Автор: SAVEL 5.5.2008, 22:57 | ||
| Да m_wndPaneBar принадлежит СToolBar, а если я меняю на СToolBarCtrl, то уменя все СToolBarовские функции летят!!! Ну так?
|
| Автор: Earnest 6.5.2008, 16:52 |
Как это "принадлежит"? Хочешь сказать, что это переменная типа CToolBar? И не надо ничего заменять. У ToolBar есть метод GetToolBarCtrl, который возвращает ссылку на внутренний CToolBarCtrl; а у того, в свою очередь есть все нужные тебе методы. Т.е. именно так: m_wndPaneBar.GetToolBarCtrl().IsButtonChecked(nlD); Разве что у тебя среда древняя, из времен, когда CToolBar не был построен на основе CToolBarCtrl... |
| Автор: SAVEL 6.5.2008, 17:59 | ||||||
В интерфейсе класса :
Я не знал, что так можно программировать, чем-то Delphi напоминает, но мы в С++! Всё ясно, да только на практике картина обстоит таким образом:
Error 3 error C2027: use of undefined type 'CToolBarCtrl' Error 4 error C2228: left of '.CheckButton' must have class/struct/union Error 5 error C2027: use of undefined type 'CToolBarCtrl' Error 6 error C2228: left of '.IsButtonChecked' must have class/struct/union Error 7 error C2027: use of undefined type 'CToolBarCtrl' Error 8 error C2228: left of '.CheckButton' must have class/struct/union Вот, што тут поделаешь? |
| Автор: Earnest 8.5.2008, 14:49 | ||
И как, по твоему, в C++ надо? Версия MSVC какая? Варианта два: либо она такая старая, что CToolBarCtrl еще нет - тогда выкини ее нафиг. Либо почему-либо не подключен файл AfxCmn.h, где это дело определено. Обычно его прописывают в StdAfx.h Добавлено через 59 секунд Причем скорее второе, т.к. на GetToolBarCtrl компилятор вроде не ругается - значит, есть такой метод. |
| Автор: SAVEL 10.5.2008, 17:16 |
| Всё я въехал! Спасиб! |