Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание шаблона CMultiDocTemplate 
:(
    Опции темы
NewLine
Дата 18.6.2006, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 19.5.2006

Репутация: нет
Всего: нет



Привет.
Пытаюсб создать шаблон с помощью CMultiDocTemplate:
Код

CMultiDocTemplate* pDocTemplateData;
    pDocTemplateData = new CMultiDocTemplate(
    IDD_FORMVIEW,
    RUNTIME_CLASS(CTest_3Doc),
    RUNTIME_CLASS(CView), // класс окна-рамки 
    RUNTIME_CLASS(NewFormView_1)); // класс дочернего окна
    AddDocTemplate(pDocTemplateData);

 В строке RUNTIME_CLASS(NewFormView_1)); выдается ошибка.
user posted image
Что емуне нравится  smile  
--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
NewLine
Дата 18.6.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 19.5.2006

Репутация: нет
Всего: нет



С этим вопросом я разобрался задавал не тот "класс окна-рамки", но теперь не понятно как открыть это окно. 
--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
Earnest
Дата 19.6.2006, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



У шаблона есть метод OpenDocumentFile.

Добавлено @ 06:44 
В принципе, если определен только один шаблон, стандартный обработчие CWinApp::OnFileOpen его успешно откроет. Если шаблонов >1, но каждый имеет свое собственное расширение файла (которое правильно задано в строке ресурсов), то стандартный метод тоже справится. 


--------------------
...
PM   Вверх
NewLine
Дата 19.6.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 19.5.2006

Репутация: нет
Всего: нет



Помогите пожалуйста разобраться.

Я создал шаблон
Код

//Станодартный шаблон
    CMultiDocTemplate* pDocTemplate;
    pDocTemplate = new CMultiDocTemplate(
        IDR_TEST_3TYPE,
        RUNTIME_CLASS(CTest_3Doc),
        RUNTIME_CLASS(CChildFrame), // custom MDI child frame
        RUNTIME_CLASS(CTest_3View));
    AddDocTemplate(pDocTemplate);

//Шаблон котрый создал я
    CMultiDocTemplate* pDocTemplateData;
    pDocTemplateData = new CMultiDocTemplate(
    IDR_MAINFRAME,
    RUNTIME_CLASS(CTest_3Doc),
    RUNTIME_CLASS(CChildFrame), // класс окна-рамки 
    RUNTIME_CLASS(NewFormView_1)); // класс дочернего окна
    AddDocTemplate(pDocTemplateData);


В в главное меню(IDR_MAINFRAME) я добавил новый пункт:
"Открыть документ" и присвоил ему ID: ID_FILE_NEWMENU
В файл рессурсов String Table добавил ID нового View: IDD_FORMVIEW Caption("test_test")

После чего в классе CTest_3App создал две функции функции
Код

void CTest_3App::OnFileNewmenu() 
{
    // TODO: Add your command handler code here
        OpenNewDocument("test_test");
}

и

BOOL CTest_3App::OpenNewDocument(const CString &strTarget)
{
CString strDocName;
CDocTemplate* pSelectedTemplate;
POSITION pos = GetFirstDocTemplatePosition();
while (pos != NULL)
{
pSelectedTemplate = (CDocTemplate*) GetNextDocTemplate(pos);
pSelectedTemplate->GetDocString(strDocName, CDocTemplate::docName);
if (strDocName == strTarget) // выбирается из строкового ресурса шаблона
{
pSelectedTemplate->OpenDocumentFile(NULL);
return TRUE;
}
}
return FALSE;
}


Все.
После нажатия на пункт меню "Открыть документ" ничего не происходит.
Помогите пожалуйста. 
--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
Earnest
Дата 19.6.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Возьми отладчик и пройдись по коду. Прежде всего, убедись, что вызывается твой обработчик. 


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.