WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Помогите разобраться с OLE и элементом управления RichEdit!

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Помогите разобраться с OLE и элементом управления RichEdit!
mihon опубликован 05-04-2001 17:48 MSK   Click Here to See the Profile for mihon   Click Here to Email mihon  
Visual C++6.0, MFC
Как сделать так, чтобы в элементе управления RichEdit отображались
OLE-oбъекты?

При приведённой ниже инициализации элемента RichEdit
отображается только текст c различными типами шрифтов,размеров,цветов.
А OLE-объекты игнорируются. Что делать?

(функция OpenCallback определена)

CRichEditCtrl m_Richedit;
EDITSTREAM es;

m_Richedit.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|
WS_HSCROLL|WS_VSCROLL|ES_AUTOVSCROLL|
ES_AUTOHSCROLL|ES_MULTILINE|ES_READONLY,
CRect(0,0,669,362),this,IDC_RICHEDIT);
HFILE hFile;
OFSTRUCT of;
EDITSTREAM es;
hFile=OpenFile("file.rtf",&of,OF_READ);
es.dwCookie=(DWORD)hFile;
es.dwError=0;
es.pfnCallback=OpenCallback;
m_Richedit.StreamIn(SF_RTF,es);
_lclose(hFile);

OlegO опубликован 06-04-2001 15:20 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
посмотри в MSDN статью "HOWTO: Insert a Bitmap Into an RTF Document Using the RichEdit Control.",
а в примерах WordPad там эта возможность реализована.
OlegO опубликован 06-04-2001 15:31 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
Попробуй закачать Документ в Storage, a у
Storage запросить Stream.
Вырезал из MFC :) файл OleDoc1.cpp
BOOL COleDocument::OnOpenDocument(LPCTSTR lpszPathName)
.....
SCODE sc;
LPSTORAGE lpStorage = NULL;
if (StgIsStorageFile(lpsz) == S_FALSE)
{
// convert existing storage file
sc = StgCreateDocfile(lpsz, STGM_READWRITE|
STGM_TRANSACTED|STGM_SHARE_DENY_WRITE|STGM_CONVERT,0, &lpStorage);
if (FAILED(sc)

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.