Помогите, пожалуйста. Мне в MDI приложение приходит WM_COPYDATA с данными. Эти данные надо отобразить в новой вьюхе. Для этого надо ее создать. Каким образом это сделать из самой программы?
Здравствуйте Reverend JAHncle, Вы писали:
RJ>Помогите, пожалуйста. Мне в MDI приложение приходит WM_COPYDATA с данными. Эти данные надо отобразить в новой вьюхе. Для этого надо ее создать. Каким образом это сделать из самой программы?
У класса приложения есть такая функция OnFileNew, вызови ее и создатся новый документ. Потом берешь активный документ(это и будет созданный) передаешь туда свои данные.
Здравствуйте Reverend JAHncle, Вы писали:
RJ>Помогите, пожалуйста. Мне в MDI приложение приходит WM_COPYDATA с данными. Эти данные надо отобразить в новой вьюхе. Для этого надо ее создать. Каким образом это сделать из самой программы?
Здравствуйте Denwer, Вы писали:
RJ>>Помогите, пожалуйста. Мне в MDI приложение приходит WM_COPYDATA с данными. Эти данные надо отобразить в новой вьюхе. Для этого надо ее создать. Каким образом это сделать из самой программы?
D>У класса приложения есть такая функция OnFileNew, вызови ее и создатся новый документ. Потом берешь активный документ(это и будет созданный) передаешь туда свои данные.
Где ты раньше был ? Я это создавал через доктемплейты и всякую хрень...
Здравствуйте Ибрагим, Вы писали:
И>Здравствуйте Denwer, Вы писали:
RJ>>>Помогите, пожалуйста. Мне в MDI приложение приходит WM_COPYDATA с данными. Эти данные надо отобразить в новой вьюхе. Для этого надо ее создать. Каким образом это сделать из самой программы?
D>>У класса приложения есть такая функция OnFileNew, вызови ее и создатся новый документ. Потом берешь активный документ(это и будет созданный) передаешь туда свои данные.
И>Где ты раньше был ? Я это создавал через доктемплейты и всякую хрень...
И это тоже правильно. Если не хочешь, чтобы View был приаттачен к тому же документу.
Здравствуйте Denwer, Вы писали:
D>У класса приложения есть такая функция OnFileNew, вызови ее и создатся новый документ. Потом берешь активный документ(это и будет созданный) передаешь туда свои данные.
Обработчик находится в MainFrame. Если я там ставлю OnFileNew, то компилятор выдает:
'OnFileNew' : cannot access protected member declared in class 'CWinApp'
Как обойти? Неужели еще одно сообщение посылать?
Patalog:
Нет такого TVS_EXTENDEDSEL. В МСДН тоже нет.
Я его не ставил.
Но прога вылетает при обращении к строке:
if(frame) doc_template->InitialUpdateFrame(frame, document);
Здравствуйте Reverend JAHncle, Вы писали:
RJ>Здравствуйте Denwer, Вы писали:
D>>У класса приложения есть такая функция OnFileNew, вызови ее и создатся новый документ. Потом берешь активный документ(это и будет созданный) передаешь туда свои данные.
RJ>Обработчик находится в MainFrame. Если я там ставлю OnFileNew, то компилятор выдает: RJ>'OnFileNew' : cannot access protected member declared in class 'CWinApp' RJ>Как обойти? Неужели еще одно сообщение посылать?
RJ>Patalog: RJ>Нет такого TVS_EXTENDEDSEL. В МСДН тоже нет. RJ>Я его не ставил. RJ>Но прога вылетает при обращении к строке: RJ>if(frame) doc_template->InitialUpdateFrame(frame, document);
Сорри по поводу OnFileNew, обошел, но прога также вылетает на InitialUpdateFrame(...)
[skip]
RJ>Patalog: RJ>Нет такого TVS_EXTENDEDSEL. В МСДН тоже нет. RJ>Я его не ставил.
А его и нет Ето мое внутреннее Я
Просто при ипользовании метода Copy/Paste забыл удалить.
RJ>Но прога вылетает при обращении к строке: RJ>if(frame) doc_template->InitialUpdateFrame(frame, document);
Я так понял из соседнего поста ты уже разобрался? Ежели нет пиши подробней.
Здравствуйте Patalog, Вы писали:
RJ>>Но прога вылетает при обращении к строке: RJ>>if(frame) doc_template->InitialUpdateFrame(frame, document);
P>Я так понял из соседнего поста ты уже разобрался? Ежели нет пиши подробней.
Все работает как часы. Еще раз спасибо. Попробовал один вариант, потом другой. Первый код не до конца подчистил, вот баги и полезли.
В итоге не стал разбираться какой вариант лучше, оставил последний (OnFileNew). Только пришлось заводить в классе приложения свою процедуру OnMyFileNew из которой уже вызывать OnFileNew.
И еще раз спасибо В благодарность поставил оценки для удовлетворения вашей сатисфакции
CDocument* CWinApp::OpenDocumentFile(LPCTSTR);
CDocument* CDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName, BOOL bMakeVisible = TRUE);
RJ>>Помогите, пожалуйста. Мне в MDI приложение приходит WM_COPYDATA с данными. Эти данные надо отобразить в новой вьюхе. Для этого надо ее создать. Каким образом это сделать из самой программы?
P>
Здравствуйте Аноним, Вы писали:
И>>Проще тогда так:
И>>CDocument* CWinApp::OpenDocumentFile(LPCTSTR); И>>CDocument* CDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName, BOOL bMakeVisible = TRUE);
А>Я не сказал, что мне надо открыть файл. Данные передаются из другого места, генерируютя, еще как-нибудь получаются. А>Поэтому сей вариант не подходит
Читайте MSDN ! Если lpszPathName == NULL то открывается новый, пустой файл. А там его хоть генерируй, хоть что хочешь.
Преимущества перед способом с OnFileNew — открывается с заранее определенным шаблоном документа.
Re[5]: Открытие файла в MDI приложении.
От:
Аноним
Дата:
08.08.02 08:11
Оценка:
Здравствуйте Ибрагим, Вы писали:
И>Здравствуйте Аноним, Вы писали:
И>>>Проще тогда так:
И>>>CDocument* CWinApp::OpenDocumentFile(LPCTSTR); И>>>CDocument* CDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName, BOOL bMakeVisible = TRUE);
А>>Я не сказал, что мне надо открыть файл. Данные передаются из другого места, генерируютя, еще как-нибудь получаются. А>>Поэтому сей вариант не подходит:(
И>Читайте MSDN ! Если lpszPathName == NULL то открывается новый, пустой файл. А там его хоть генерируй, хоть что хочешь.
Я посмотрел только CWinApp::OpenDocumentFile:( Там этого не было.
A pointer to the document whose file is named by lpszPathName; NULL if unsuccessful.
Parameters
lpszPathName
Pointer to the pathname of the file containing the document to be opened.
bMakeVisible
Determines whether the window containing the document is to be made visible.
Remarks
Opens the file whose pathname is specified by lpzsPathName. If lpszPathName is NULL, a new file, containing a document of the type associated with this template, is created.