Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 24.03.2010, 11:40   #1
MFCCasper
 
Регистрация: 24.03.2010
Сообщений: 9
По умолчанию функция Get Document не работает в CDialog. как получить документ в CDIalog

пишу прогу на DOc/view в MFc. есть обычный диалог с кнопкой. при нажатии на кнопку хочу получить указатель на документ используя функцию GetDocument ,но эта функция не работает. как получить документ ?
код выглядит так :

void
CTabForm_Redact::OnGetRecordCount()
{
CChemistDoc* pDoc = GetDocument();
ASSERT(pDoc);

int n_count;
n_count = pDoc->m_rst.GetRecordCount();
AfxMessageBox(n_count);
}

а ошибка такая : error C3861: 'GetDocument': identifier not found.
MFCCasper вне форума Ответить с цитированием
Старый 24.03.2010, 12:21   #2
pproger
C++ hater
СуперМодератор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

GetDocument насколько я помню - метод класса CView. в sdi/mdi вид связывается с документом (и окном, естесна) при создании окна. в диалоге такого нет. можно попробовать создать вид, объявить указатель на него в диалоге, и создать свою реализацию GetDocument, возвращая ссылку на документ из вида.
вообще, диалог и документ - понятия несовместимые. если так хочется диалог - создай sdi документ, например, и уже на нем создай dialogbar. самый правильный вариант, имхо.
pproger вне форума Ответить с цитированием
Старый 24.03.2010, 14:21   #3
MFCCasper
 
Регистрация: 24.03.2010
Сообщений: 9
По умолчанию

OK ) ... пасиб ))) а не подскажете как приблизительно должна выглядеть реализация этой функции ???

Последний раз редактировалось MFCCasper; 24.03.2010 в 14:23.
MFCCasper вне форума Ответить с цитированием
Старый 24.03.2010, 14:43   #4
pproger
C++ hater
СуперМодератор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

2MFCCasper
ты походу прослушал мое второе замечание.
Цитата:
вообще, диалог и документ - понятия несовместимые. если так хочется диалог - создай sdi документ, например, и уже на нем создай dialogbar. самый правильный вариант, имхо.
а накидать сходу не смогу, ибо это нелогичное поведение, ибо в мфц диалог-документ-вид как то дико. нужно пробовать. еще раз делаю акцент на диалогбаре, размещенным на sdi/mdi. это тебя должно устроить
pproger вне форума Ответить с цитированием
Старый 24.03.2010, 15:06   #5
MFCCasper
 
Регистрация: 24.03.2010
Сообщений: 9
По умолчанию

))) OK esho ras spasibo )))
MFCCasper вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Gecko. Получить Document postal2 Компоненты Delphi 1 28.10.2010 08:28
Как установить microsoft document explorer? mutabor Софт 5 07.03.2009 00:27
Как обратиться к линку из document.write ? Navsad JavaScript, Ajax 8 31.01.2009 17:08
Объясните, как работает функция strlen() TheWanderer Общие вопросы C/C++ 9 25.11.2008 22:46
CDialog передача параметров! mahsus Общие вопросы .NET 4 09.03.2008 17:40


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS