Listing 4: Copying to the clipboard

LRESULT TWndw::MsEditCopyClipboard(WPARAM,LPARAM)
{
    char* meta_file;
    meta_file=new char[FILE_NAME_LENGTH];
    strcpy(meta_file,father->current_directory);
    strcat(meta_file,"\\prisma.wmf");
    TMetaFileDC* meta=new TMetaFileDC(meta_file);
    meta->SetMapMode(MM_TEXT);
    TRect rect=GetClientRect();
    meta->SetWindowExt(rect.Size());
    TSize ss(2400,2400);
    meta->SetViewportExt(ss);
    this->Paint(*meta,FALSE,rect);
    TMetaFilePict* mfp=new TMetaFilePict(meta->Close());

    TClipboard &clip=OpenClipboard();
    clip.EmptyClipboard();
    clip<<*mfp;
    clip.CloseClipboard();
    delete meta;
    delete mfp;
    delete meta_file;
    return 1;
}//End of File