прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 05.05.05 12:20
Оценка:
Привет!

Есть созданный doc/view (cricheditview и doc) с parent-ом в виде cmainframe, который надо (то ли setparent()-ом, но выкидывает assert viewcore.cpp line 250) сделать child-ом cdialog. Как такое можно сделать?
Re: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 07.05.05 09:20
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>Привет!


RW>Есть созданный doc/view (cricheditview и doc) с parent-ом в виде cmainframe, который надо (то ли setparent()-ом, но выкидывает assert viewcore.cpp line 250) сделать child-ом cdialog. Как такое можно сделать?


мужики, помогайте плиз — очень надо
Re: прикремить cricheditview к cdialog
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 07.05.05 09:35
Оценка: 2 (1)
Здравствуйте, RonWilson, Вы писали:

RW>Есть созданный doc/view (cricheditview и doc) с parent-ом в виде cmainframe, который надо (то ли setparent()-ом, но выкидывает assert viewcore.cpp line 250) сделать child-ом cdialog. Как такое можно сделать?


Димину статью смотрели — Использование фреймов внутри диалоговых окон
Автор(ы): Артамонов Дмитрий
Дата: 26.01.2004
Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.
?
[ posted via RSDN@Home 1.1.4 beta 6 r433, accompanied by Mad Sin — 1000 Eyes ]
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[2]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 11.05.05 12:24
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, RonWilson, Вы писали:


RW>>Есть созданный doc/view (cricheditview и doc) с parent-ом в виде cmainframe, который надо (то ли setparent()-ом, но выкидывает assert viewcore.cpp line 250) сделать child-ом cdialog. Как такое можно сделать?


SDB>Димину статью смотрели — Использование фреймов внутри диалоговых окон
Автор(ы): Артамонов Дмитрий
Дата: 26.01.2004
Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.
?


Попробовал, все нормально но почему-то уже созданный CRichEditDoc не отображается на создаваемом view:

    CCreateContext ccc;
    ccc.m_pNewViewClass   = RUNTIME_CLASS(CAvalonRTFView);
    ccc.m_pCurrentDoc     = m_objDoc;
      ...


m_objDoc содержит данные а отображается пустой View. Почему?
Re[2]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 13.05.05 10:29
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, RonWilson, Вы писали:


RW>>Есть созданный doc/view (cricheditview и doc) с parent-ом в виде cmainframe, который надо (то ли setparent()-ом, но выкидывает assert viewcore.cpp line 250) сделать child-ом cdialog. Как такое можно сделать?


SDB>Димину статью смотрели — Использование фреймов внутри диалоговых окон
Автор(ы): Артамонов Дмитрий
Дата: 26.01.2004
Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.
?


почему если в CCreateContext в m_pCurrentDoc передать CRichEditDoc, то его содержимое не отображается, хотя данные в нем есть
Re[3]: прикремить cricheditview к cdialog
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 13.05.05 10:40
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>почему если в CCreateContext в m_pCurrentDoc передать CRichEditDoc, то его содержимое не отображается, хотя данные в нем есть


А эти "данные" корректны?
[ posted via RSDN@Home 1.1.4 beta 7 r448, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[4]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 13.05.05 10:49
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, RonWilson, Вы писали:


RW>>почему если в CCreateContext в m_pCurrentDoc передать CRichEditDoc, то его содержимое не отображается, хотя данные в нем есть


SDB>А эти "данные" корректны?


ну конечно! документ был загружен и отображен, но при прикреплении к новому (диалоговому) richeditview почему-то не отображается
Re[5]: прикремить cricheditview к cdialog
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 13.05.05 10:55
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>ну конечно! документ был загружен и отображен, но при прикреплении к новому (диалоговому) richeditview почему-то не отображается


Еще один глупый вопрос — update вьюшки пробовали делать?
[ posted via RSDN@Home 1.1.4 beta 7 r448, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[6]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 13.05.05 11:02
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, RonWilson, Вы писали:


RW>>ну конечно! документ был загружен и отображен, но при прикреплении к новому (диалоговому) richeditview почему-то не отображается


SDB>Еще один глупый вопрос — update вьюшки пробовали делать?


OnInitDialog()
{
...
    m_pFrame->InitialUpdateFrame( m_objDoc, TRUE );
    m_pFrame->Invalidate(); // даже так :)
    m_pFrame->UpdateWindow();
...
}

и безтоку
Re[7]: прикремить cricheditview к cdialog
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 13.05.05 11:05
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>и безтоку


А самый жесткий вариант — RedrawWindow()?
[ posted via RSDN@Home 1.1.4 beta 7 r448, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[8]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 13.05.05 11:10
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, RonWilson, Вы писали:


RW>>и безтоку


SDB>А самый жесткий вариант — RedrawWindow()?


m_pFrame->GetActiveView()->RedrawWindow();

неа... не помогает. такое ощущение, что я прикрепляю не CRichEditDoc а просто CDocument, или как будто он игнорирует содержимое документа
Re[9]: прикремить cricheditview к cdialog
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 13.05.05 11:26
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>неа... не помогает. такое ощущение, что я прикрепляю не CRichEditDoc а просто CDocument, или как будто он игнорирует содержимое документа


А глюкодав что показывает?

P.S.
Попробуйте еще посмотреть статьи здесь.
[ posted via RSDN@Home 1.1.4 beta 7 r448, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[10]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 13.05.05 11:33
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, RonWilson, Вы писали:


RW>>неа... не помогает. такое ощущение, что я прикрепляю не CRichEditDoc а просто CDocument, или как будто он игнорирует содержимое документа


SDB>А глюкодав что показывает?


SDB>P.S.

SDB>Попробуйте еще посмотреть статьи здесь.

отладчик в oninitdialog() говорит что m_pFrame на запрос getactivedocument и getactiveview дает адреса т.е. вид создан и документ тоже прикреплен, но...
Re[11]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 13.05.05 12:08
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>Здравствуйте, SchweinDeBurg, Вы писали:


SDB>>Здравствуйте, RonWilson, Вы писали:


RW>>>неа... не помогает. такое ощущение, что я прикрепляю не CRichEditDoc а просто CDocument, или как будто он игнорирует содержимое документа


SDB>>А глюкодав что показывает?


SDB>>P.S.

SDB>>Попробуйте еще посмотреть статьи здесь.

RW>отладчик в oninitdialog() говорит что m_pFrame на запрос getactivedocument и getactiveview дает адреса т.е. вид создан и документ тоже прикреплен, но...


адреса существующего документа и получаемого getactivedocument() от m_pFrame одинаковые. ну не вижу источник проблемы хоть убейте
Re[12]: прикремить cricheditview к cdialog
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 13.05.05 12:12
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>адреса существующего документа и получаемого getactivedocument() от m_pFrame одинаковые. ну не вижу источник проблемы хоть убейте


И CView::GetDocument() вашей вьюшки тот же самый адрес возвращает?
[ posted via RSDN@Home 1.1.4 beta 7 r448, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[13]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 13.05.05 12:19
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, RonWilson, Вы писали:


RW>>адреса существующего документа и получаемого getactivedocument() от m_pFrame одинаковые. ну не вижу источник проблемы хоть убейте


SDB>И CView::GetDocument() вашей вьюшки тот же самый адрес возвращает?


да
Re[14]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 13.05.05 16:19
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>Здравствуйте, SchweinDeBurg, Вы писали:


SDB>>Здравствуйте, RonWilson, Вы писали:


RW>>>адреса существующего документа и получаемого getactivedocument() от m_pFrame одинаковые. ну не вижу источник проблемы хоть убейте


SDB>>И CView::GetDocument() вашей вьюшки тот же самый адрес возвращает?


RW>да


по-моему пора код в студию здесь
Re[14]: прикремить cricheditview к cdialog
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 13.05.05 18:19
Оценка: :)
Здравствуйте, RonWilson, Вы писали:

RW>Здравствуйте, SchweinDeBurg, Вы писали:


SDB>>Здравствуйте, RonWilson, Вы писали:


RW>>>адреса существующего документа и получаемого getactivedocument() от m_pFrame одинаковые. ну не вижу источник проблемы хоть убейте


SDB>>И CView::GetDocument() вашей вьюшки тот же самый адрес возвращает?


RW>да

А ты функцию AfxInitRichEdit() пробовал вызывать? На сколько я помню ее вызов нужен.
github.com/dmitrigrigoriev/
Re[15]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 14.05.05 06:23
Оценка:
Здравствуйте, SkyKnight, Вы писали:

SK>Здравствуйте, RonWilson, Вы писали:


RW>>Здравствуйте, SchweinDeBurg, Вы писали:


SDB>>>Здравствуйте, RonWilson, Вы писали:


RW>>>>адреса существующего документа и получаемого getactivedocument() от m_pFrame одинаковые. ну не вижу источник проблемы хоть убейте


SDB>>>И CView::GetDocument() вашей вьюшки тот же самый адрес возвращает?


RW>>да

SK>А ты функцию AfxInitRichEdit() пробовал вызывать? На сколько я помню ее вызов нужен.

да, надо конечно — но от этого проблема не исчезает
Re[15]: прикремить cricheditview к cdialog
От: RonWilson Россия  
Дата: 14.05.05 12:23
Оценка:
Здравствуйте, RonWilson, Вы писали:

RW>Здравствуйте, RonWilson, Вы писали:


RW>>Здравствуйте, SchweinDeBurg, Вы писали:


SDB>>>Здравствуйте, RonWilson, Вы писали:


RW>>>>адреса существующего документа и получаемого getactivedocument() от m_pFrame одинаковые. ну не вижу источник проблемы хоть убейте


SDB>>>И CView::GetDocument() вашей вьюшки тот же самый адрес возвращает?


RW>>да


RW>по-моему пора код в студию здесь


самое интересное, что такой код

      CFile file(_T("d:\\tt"),CFile::modeCreate|CFile::modeWrite);
    CArchive ar(&file,CArchive::store);
    m_pFrame->GetActiveDocument()->Serialize(ar);
    ar.Close();


нормально сохраняет документ с содержимым — так почему же документ в виде так и не отображается???
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.