Форум программистов, компьютерный форум CyberForum.ru

Как получить указатель на объект класса CDocument - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
07.09.2011, 18:25     Как получить указатель на объект класса CDocument #1
Как получить указатель на объект класса CDocument в любом месте программы? Например, функция ::AfxGetMainWnd()->GetMenu(); возвращает указатель на объект класса CMenu. А как для CDocument? Создать объект класса CDocument, нельзя.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2011, 18:25     Как получить указатель на объект класса CDocument
Посмотрите здесь:

Указатель на объект класса C++
Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? C++
Как получить объект (не указатель), используюя перегруженный new? C++
C++ Методы вызываются через указатель на объект класса; Как компилятор определяет, какой из методов надо вызвать?
C++ Как получить значение из метода класса, если метод возвращает указатель?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
07.09.2011, 18:44  [ТС]     Как получить указатель на объект класса CDocument #2
Вернее, указатель на объект класса CView. Для того чтобы, к примеру, вывести текст.
kpoxa
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
07.09.2011, 20:26     Как получить указатель на объект класса CDocument #3
Прочитай внимательно, что именно возвращает функция AfxGetMainWnd.
Если твоя аппликация не OLE сервер, то она возвращает m_pMainWnd аппликации.
Напиши в главном окне, содержащем СDocument функцию, возвращающую этот объект и вызывай её как
CDocument & doc = ::AfxGetMainWnd()->GetDocument();
к примеру.
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
08.09.2011, 00:04  [ТС]     Как получить указатель на объект класса CDocument #4
Sorry, мне надо получить указатель на CView. Если можно, подробней пожалуйста.
kpoxa
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
08.09.2011, 11:08     Как получить указатель на объект класса CDocument #5
Нет разницы между возвращением объекта CDocument или CView.
Наверняка у тебя главное окно является классом (например CMainWnd).
И в этом классе у тебя есть ссылки или указатели или сами объекты, такие как CDocument, CView1, CView2 ....
Добавь к воему классу CMainWnd функцию член класса, которая будет возвращать ссылку или указатель на нужный тебе объект.
После этого ты в любом месте программы сможешь получить эти объекты через вызов этой функции.

Код
class CMainWnd: public CWnd {
......
private:
   CView m_myView ;
   CDocument  m_myDocument;
.....
public:
   CView & GetView() { return m_myView; }
.....
} ;
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
08.09.2011, 15:20  [ТС]     Как получить указатель на объект класса CDocument #6
Спасибо! Понятно!
Yandex
Объявления
08.09.2011, 15:20     Как получить указатель на объект класса CDocument
Ответ Создать тему
Опции темы

Текущее время: 23:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru