Передача буфера в MS Word
От: The_Thing Россия
Дата: 21.05.09 09:30
Оценка:
Не получается передать изображение в ворд.


делаю так:

    INT nWidth = m_rcBoard.Width(),
        nHeight = m_rcBoard.Height();

    HMETAFILE hmf(NULL);
    HDC hdcMeta = CreateMetaFile( (LPTSTR)NULL );
    BOOL rs = SetWindowOrgEx(hdcMeta, 0, 0, NULL);
    rs = SetWindowExtEx(hdcMeta, nWidth, nHeight, NULL);
    
    //Рисуем доску
    CDC dc;
    dc.Attach(hdcMeta);
    dc.Ellipse(0, 0, 100, 100);
    hmf = CloseMetaFile(hdcMeta);

    GLOBALHANDLE hGMem = GlobalAlloc( GMEM_DDESHARE | GHND,(DWORD)sizeof(METAFILEPICT));
    LPMETAFILEPICT lpMFP = (LPMETAFILEPICT) GlobalLock(hGMem);

    lpMFP->mm = MM_TEXT;
    lpMFP->xExt = nWidth;
    lpMFP->yExt = nHeight;
    lpMFP->hMF = hmf;
    GlobalUnlock(hGMem);

    EmptyClipboard();
    if( !OpenClipboard() )
        return;
    //помещаем данные в буфер обмена
    HANDLE h = SetClipboardData( CF_METAFILEPICT, hGMem );
    CloseClipboard(); //закрываем буфер обмена
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.