这篇教程C++ DeleteEnhMetaFile函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DeleteEnhMetaFile函数的典型用法代码示例。如果您正苦于以下问题:C++ DeleteEnhMetaFile函数的具体用法?C++ DeleteEnhMetaFile怎么用?C++ DeleteEnhMetaFile使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DeleteEnhMetaFile函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: WndProcLRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ ENHMETAHEADER emh ; HDC hdc, hdcEMF ; HENHMETAFILE hemfOld, hemf ; PAINTSTRUCT ps ; RECT rect ; switch (message) { case WM_CREATE: // Retrieve existing metafile and header hemfOld = GetEnhMetaFile (TEXT ("..//emf3//emf3.emf")) ; GetEnhMetaFileHeader (hemfOld, sizeof (ENHMETAHEADER), &emh) ; // Create a new metafile DC hdcEMF = CreateEnhMetaFile (NULL, TEXT ("emf7.emf"), NULL, TEXT ("EMF7/0EMF Demo #7/0")) ; // Enumerate the existing metafile EnumEnhMetaFile (hdcEMF, hemfOld, EnhMetaFileProc, NULL, (RECT *) & emh.rclBounds) ; // Clean up hemf = CloseEnhMetaFile (hdcEMF) ; DeleteEnhMetaFile (hemfOld) ; DeleteEnhMetaFile (hemf) ; return 0 ; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; rect.left = rect.right / 4 ; rect.right = 3 * rect.right / 4 ; rect.top = rect.bottom / 4 ; rect.bottom = 3 * rect.bottom / 4 ; hemf = GetEnhMetaFile (TEXT ("emf7.emf")) ; PlayEnhMetaFile (hdc, hemf, &rect) ; DeleteEnhMetaFile (hemf) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ;}
开发者ID:Jeanhwea,项目名称:petzold-pw5e,代码行数:59,
示例2: Picture_writeToWindowsMetafilevoid Picture_writeToWindowsMetafile (Picture me, MelderFile file) { try { HENHMETAFILE metafile = copyToMetafile (me); MelderFile_delete (file); // overwrite any existing file with the same name DeleteEnhMetaFile (CopyEnhMetaFile (metafile, Melder_peek32toW (file -> path))); DeleteEnhMetaFile (metafile); } catch (MelderError) { Melder_throw (U"Picture not written to Windows metafile ", file); }}
开发者ID:DsRQuicke,项目名称:praat,代码行数:10,
示例3: PaintRoutinevoid PaintRoutine (HWND hwnd, HDC hdc, int cxArea, int cyArea){ ENHMETAHEADER emh ; HENHMETAFILE hemf ; int cxMms, cyMms, cxPix, cyPix, cxImage, cyImage ; RECT rect ; cxMms = GetDeviceCaps (hdc, HORZSIZE) ; cyMms = GetDeviceCaps (hdc, VERTSIZE) ; cxPix = GetDeviceCaps (hdc, HORZRES) ; cyPix = GetDeviceCaps (hdc, VERTRES) ; hemf = GetEnhMetaFile (TEXT ("emf11.emf")) ; GetEnhMetaFileHeader (hemf, sizeof (emh), &emh) ; cxImage = emh.rclFrame.right - emh.rclFrame.left ; cyImage = emh.rclFrame.bottom - emh.rclFrame.top ; cxImage = cxImage * cxPix / cxMms / 100 ; cyImage = cyImage * cyPix / cyMms / 100 ; rect.left = (cxArea - cxImage) / 2 ; rect.top = (cyArea - cyImage) / 2 ; rect.right = (cxArea + cxImage) / 2 ; rect.bottom = (cyArea + cyImage) / 2 ; PlayEnhMetaFile (hdc, hemf, &rect) ; DeleteEnhMetaFile (hemf) ;}
开发者ID:AaronFae,项目名称:VimProject,代码行数:31,
示例4: CloseEnhMetaFilebool EmfPaintEngine::end(){ HENHMETAFILE metafile = CloseEnhMetaFile( metaDC ); DeleteEnhMetaFile( metafile ); DeleteDC( metaDC ); return true;}
开发者ID:jkriege2,项目名称:JKQtPlotter,代码行数:7,
示例5: HENHMETAFILE_UserFreevoid __RPC_USER HENHMETAFILE_UserFree(unsigned long *pFlags, HENHMETAFILE *phEmf){ TRACE("("); dump_user_flags(pFlags); TRACE(", &%p/n", *phEmf); if (LOWORD(*pFlags) != MSHCTX_INPROC) DeleteEnhMetaFile(*phEmf);}
开发者ID:howard5888,项目名称:wineT,代码行数:7,
示例6: SaveMetafileVOID SaveMetafile(HWND hWnd){ HENHMETAFILE currentImage = RefreshMetafileDC(hWnd); TCHAR buffer[4 * MAX_LOADSTRING]; OPENFILENAME openFileName = InitializeOpenFileNameStructure(hWnd, OFN_SHOWHELP | OFN_OVERWRITEPROMPT, buffer); TCHAR szDescription[MAX_LOADSTRING]; LoadString(hInst, IDS_DESCRIPTIONSTRING, (LPWSTR)szDescription, sizeof(szDescription)); for (int i = 0; szDescription[i]!='/0'; i++) { if (szDescription[i] == '%') szDescription[i] = '/0'; } GetSaveFileName(&openFileName); GetClientRect(hWnd, &rect); HDC windowDC = GetDC(hWnd); RECT newRect = GetRect(windowDC); HDC newMetafileDC = CreateEnhMetaFile(windowDC, (LPTSTR) openFileName.lpstrFile, &newRect, (LPWSTR)szDescription); ReleaseDC(hWnd, windowDC); PlayEnhMetaFile(newMetafileDC, currentImage, &rect); currentImage = CloseEnhMetaFile(newMetafileDC); PlayEnhMetaFile(metafileDC, currentImage, &rect); ReleaseDC(hWnd, newMetafileDC); DeleteEnhMetaFile(currentImage);}
开发者ID:Lumiray,项目名称:GraphicalEditor,代码行数:29,
示例7: WndProcLRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc ; HENHMETAFILE hemf ; PAINTSTRUCT ps ; RECT rect ; switch (message) { case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; rect.left = rect.right / 4 ; rect.right = 3 * rect.right / 4 ; rect.top = rect.bottom / 4 ; rect.bottom = 3 * rect.bottom / 4 ; hemf = GetEnhMetaFile (TEXT ("..//emf3//emf3.emf")) ; EnumEnhMetaFile (hdc, hemf, EnhMetaFileProc, NULL, &rect) ; DeleteEnhMetaFile (hemf) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ;}
开发者ID:AaronFae,项目名称:VimProject,代码行数:32,
示例8: OpenEnhMetaFilevoid OpenEnhMetaFile(HWND hWnd){ OPENFILENAME LFile; WCHAR FileName[MAX_PATH], FilePath[MAX_PATH]; FileName[0] = '/0'; FilePath[0] = '/0'; LFile.lStructSize = sizeof(OPENFILENAME); LFile.hwndOwner = hWnd; LFile.lpstrFilter =L"EMF (*.emf)/0"; LFile.lpstrCustomFilter = 0; LFile.lpstrFile = FilePath; LFile.nMaxFile = MAX_PATH * sizeof(WCHAR); LFile.lpstrFileTitle = FileName; LFile.nMaxFileTitle = MAX_PATH * sizeof(WCHAR); LFile.lpstrInitialDir = 0; LFile.lpstrDefExt = L"emf/0"; LFile.lpstrTitle = L"Open file from:"; LFile.Flags = OFN_PATHMUSTEXIST; GetOpenFileName(&LFile); HENHMETAFILE enhFile = GetEnhMetaFile(LFile.lpstrFile); RECT client; GetClientRect(hWnd, &client); client.left += scrhor / 3; client.top += scrvert / 3; client.right += scrhor / 3; client.bottom += scrvert / 3; PlayEnhMetaFile(hdc1, enhFile, &client); PlayEnhMetaFile(hdc2, enhFile, &client); DeleteEnhMetaFile(enhFile); InvalidateRect(hWnd, NULL, false);}
开发者ID:LisP94,项目名称:OSiSP,代码行数:31,
示例9: freeHENHMETAFILE CxImageWMF::ConvertEmfFiletoEmf(CxFile *pFile, ENHMETAHEADER *pemfh){ HENHMETAFILE hMeta; long iLen = pFile->Size(); BYTE* pBuff = (BYTE *)malloc(iLen); if (!pBuff) return (FALSE); // Read the Enhanced Metafile long iLenRead = pFile->Read(pBuff, 1, iLen); if (iLenRead != iLen) { free(pBuff); return (FALSE); } // Make it a Memory Metafile hMeta = SetEnhMetaFileBits(iLen, pBuff); free(pBuff); // finished with this one if (!hMeta) return (FALSE); // oops. // Get the Enhanced Metafile Header UINT uRet = GetEnhMetaFileHeader(hMeta, // handle of enhanced metafile sizeof(ENHMETAHEADER), // size of buffer, in bytes pemfh); // address of buffer to receive data if (!uRet) { DeleteEnhMetaFile(hMeta); return (FALSE); } return (hMeta);}
开发者ID:Brukwa,项目名称:VisualBoyAdvance,代码行数:34,
示例10: DeleteEnhMetaFilevoid VPictureData_MacPicture::_DisposeMetaFile()const{ if (fMetaFile) {#if VERSIONWIN DeleteEnhMetaFile(fMetaFile);#else QDPictRelease(fMetaFile);#endif fMetaFile = NULL; } if (fTrans) {#if VERSIONWIN#if ENABLE_D2D VWinD2DGraphicContext::ReleaseBitmap(fTrans);#endif delete fTrans;#elif VERSIONMAC CFRelease(fTrans);#endif fTrans = NULL; }#if VERSIONWIN if (fGdiplusMetaFile) delete fGdiplusMetaFile; fGdiplusMetaFile = 0;#endif}
开发者ID:StephaneH,项目名称:core-XToolbox,代码行数:29,
示例11: ReadEnhMetaFilevoid EMFRecordEditorFrame::GetRecordListFromFile(){ HENHMETAFILE hMeta = ReadEnhMetaFile(m_file.GetFullPath(), GetHwnd()); if (!hMeta) return; // get meta header if (GetEnhMetaFileHeader(hMeta, sizeof(g_hMetaHeader), &g_hMetaHeader) != sizeof(ENHMETAHEADER)) return; // init data touched by the callback FreeEMFStuff(); g_pHandleTable = NULL; g_nHandles = 0; g_pMetaRecords = NULL; g_nRecords = 0; g_nRecordsMax = 0; m_pList->DeleteAllItems(); // get the list of meta records EnumEnhMetaFile( NULL, hMeta, (ENHMFENUMPROC)EnumEnhMetafileProc, (LPVOID)m_pList, NULL ); DeleteEnhMetaFile(hMeta); // update GUI m_pList->SetColumnWidth(0, wxLIST_AUTOSIZE); m_pList->SetColumnWidth(1, wxLIST_AUTOSIZE); SetStatusText(wxString::Format(wxT("%d records"), g_nRecords), 2);}
开发者ID:bluebird88,项目名称:virtualprinter,代码行数:35,
示例12: rectdraw0void rectdraw0(long *w, long *x, long *y, long lw){ char tmppath[MAX_PATH], fname[MAX_PATH]; struct plot_eng plotWin32; HDC hEmf; int bg_r,bg_g,bg_b; GetTempPath(sizeof(tmppath), tmppath); sprintf(fname, "%s//gp-ploth-%lx.emf", tmppath, time(NULL)/(24*60*60)*1000+GetTickCount()); hEmf = CreateEnhMetaFile(GetDC(NULL), fname, NULL, NULL); SetMapMode(hEmf, MM_TEXT); SelectObject(hEmf, GetStockObject(DEFAULT_GUI_FONT)); color_to_rgb(gel(GP_DATA->colormap,1), &bg_r, &bg_g, &bg_b); SetBkColor(hEmf, RGB(bg_r,bg_g,bg_b)); SetBkMode(hEmf, OPAQUE); plotWin32.sc=&SetForeground; plotWin32.pt=&DrawPoint; plotWin32.ln=&DrawLine; plotWin32.bx=&DrawRectangle; plotWin32.mp=&DrawPoints; plotWin32.ml=&DrawLines; plotWin32.st=&DrawString; plotWin32.pl=&pari_plot; plotWin32.data=(void*)hEmf; gen_rectdraw0(&plotWin32, w, x, y, lw, 1, 1); DeleteEnhMetaFile(CloseEnhMetaFile(hEmf)); ShellExecute(NULL,NULL,fname,NULL,NULL,SW_SHOWDEFAULT);}
开发者ID:jpflori,项目名称:pari,代码行数:32,
示例13: DeleteEnhMetaFileint CMetafileDisplay::CreateFromFile(LPCTSTR fileName){ if (enhMF != NULL) { DeleteEnhMetaFile(enhMF); enhMF = NULL; } int ret = 0; // Open the file, find out how big it is, allocate memory then read it in HANDLE hFile = CreateFile(fileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); if (hFile != (HANDLE)-1) { LPVOID pBuf = NULL; DWORD dwFileHigh = 0; DWORD dwFile = GetFileSize(hFile, &dwFileHigh); if (dwFileHigh == 0 && (pBuf = LocalAlloc(0, dwFile)) != NULL) { DWORD dwRead; if (ReadFile(hFile, pBuf, dwFile, &dwRead, NULL) && dwRead == dwFile) ret = LoadBits((UINT) dwFile, pBuf); LocalFree(pBuf); } else ret = -1; CloseHandle(hFile); } else { ret = -1; ATLTRACE(_T("Metafile Load: %d/n"), GetLastError()); } return ret;}
开发者ID:travisgoodspeed,项目名称:basicsynth,代码行数:34,
示例14: DeleteEnhMetaFile/** * Free the meta file clipboard data if we have one. */void ClipboardData::FreeClipboardEnhmetafile(){ if (data) { DeleteEnhMetaFile((HENHMETAFILE)data); data = NULL; } FreeClipboardName();}
开发者ID:FFMG,项目名称:myoddweb.piger,代码行数:12,
示例15: RefreshWindowVOID RefreshWindow(HWND hWnd){ HDC windowDC = GetDC(hWnd); HENHMETAFILE currentImage = RefreshMetafileDC(hWnd); PlayEnhMetaFile(memoryDC, currentImage, &rect); PlayEnhMetaFile(metafileDC, currentImage, &rect); DeleteEnhMetaFile(currentImage); ReleaseDC(hWnd, windowDC);}
开发者ID:Lumiray,项目名称:GraphicalEditor,代码行数:10,
示例16: DeleteEnhMetaFilevoid VPictureData_EMF::_DisposeMetaFile()const{ #if VERSIONWIN if(fMetaFile) { DeleteEnhMetaFile(fMetaFile); fMetaFile=NULL; } #endif}
开发者ID:sanyaade-mobiledev,项目名称:core-XToolbox,代码行数:10,
示例17: get_clipboard_datastatic Anyget_clipboard_data(DisplayObj d, Name type){ HGLOBAL mem; HENHMETAFILE hmf; Any rval = FAIL; OpenClipboard(CLIPBOARDWIN); if ( type != NAME_winMetafile && (mem = GetClipboardData(CF_UNICODETEXT)) ) { wchar_t *data = GlobalLock(mem); wchar_t *copy, *q; q = copy = pceMalloc((wcslen(data)+1)*sizeof(wchar_t)); for(; *data; data++) { if ( *data == '/r' && data[1] == '/n' ) { data++; *q++ = '/n'; } else *q++ = *data; } *q = EOS; rval = WCToString(copy, q-copy); pceFree(copy); GlobalUnlock(mem); } else if ( type != NAME_winMetafile && (mem = GetClipboardData(CF_TEXT)) ) { char far *data = GlobalLock(mem); char *copy, *q; q = copy = pceMalloc(strlen(data)); for(; *data; data++) { if ( *data == '/r' && data[1] == '/n' ) { data++; *q++ = '/n'; } else *q++ = *data; } *q = EOS; rval = CtoString(copy); pceFree(copy); GlobalUnlock(mem); } else if ( type != NAME_text && (hmf = GetClipboardData(CF_ENHMETAFILE)) ) { HENHMETAFILE copy = CopyEnhMetaFile(hmf, NULL); if ( !copy ) { errorPce(d, NAME_winMetafile, CtoName("CopyEnhMetaFile"), APIError()); fail; } rval = CtoWinMetafile(copy); DeleteEnhMetaFile(hmf); } CloseClipboard(); return rval;}
开发者ID:SWI-Prolog,项目名称:packages-xpce,代码行数:55,
示例18: newmetafile/* width and height are in mm */metafile newmetafile(const char *name, double width, double height){ metafile obj; HDC hDC; RECT wr; static double cppix=-1, ppix, cppiy, ppiy; /* * In theory, (cppix=ppix) and (cppiy=ppiy). However, we * use the ratio to adjust the 'reference dimension' * in case.... ("Importing graph in MsWord" thread) */ if (cppix < 0) { cppix = 25.40 * devicewidth(NULL) / devicewidthmm(NULL); ppix = 100 * devicepixelsx(NULL); cppiy = 25.40 * deviceheight(NULL) / deviceheightmm(NULL); ppiy = 100 * devicepixelsy(NULL); } /* This is all very peculiar. We would really like to create a metafile measured in some sensible units, but it seems we get it in units of 0.01mm *on the current screen* with horizontal and vertical resolution set for that screen. And of course Windows is famous for getting screen sizes wrong. */ wr.left = 0; wr.top = 0 ; wr.right = (ppix * width) / cppix ; wr.bottom = (ppiy * height) / cppiy ; /* Here the size is in 0.01mm units */ hDC = CreateEnhMetaFile(NULL, strlen(name) ? name : NULL, &wr, "GraphApp/0/0"); if ( !hDC ) { R_ShowMessage(_("Unable to create metafile")); return NULL; } obj = new_object(MetafileObject, (HANDLE) hDC, get_metafile_base()); if ( !obj ) { R_ShowMessage(_("Insufficient memory to create metafile")); DeleteEnhMetaFile(CloseEnhMetaFile(hDC)); return NULL; } /* In looks like Windows rounds up the width and height, so we do too. 1 out is common, but 2 out has been seen. This is needed to get complete painting of the background. */ obj->rect = rect(0, 0, 2+(ppix * width)/2540, 2+(ppiy * height)/2540); obj->depth = GetDeviceCaps(hDC, BITSPIXEL) * GetDeviceCaps(hDC, PLANES); obj->die = private_delmetafile; obj->drawstate = copydrawstate(); obj->drawstate->dest = obj; settext(obj, name ? name : ""); return obj;}
开发者ID:RevolutionAnalytics,项目名称:RRO,代码行数:56,
示例19: private_delmetafilestatic void private_delmetafile(metafile obj){ HENHMETAFILE hm; if (!obj || (obj->kind != MetafileObject)) return; hm = (HENHMETAFILE) CloseEnhMetaFile((HDC) obj->handle); if (strlen(GA_gettext(obj))) { /* real file*/ DeleteEnhMetaFile(hm); return; } if (OpenClipboard(NULL) && EmptyClipboard() && /* try to save to the*/ SetClipboardData(CF_ENHMETAFILE, hm) && /*clipboard */ CloseClipboard()) return; else { R_ShowMessage(_("Unable to save metafile to the clipboard")); DeleteEnhMetaFile(hm); return; }}
开发者ID:RevolutionAnalytics,项目名称:RRO,代码行数:20,
示例20: Release void Release() { nRefCount--; _ASSERTE(nRefCount >= 0); if (nRefCount <= 0) { DeleteComp(); if (h) { DeleteEnhMetaFile(h); h = NULL; } FREE(this); } };
开发者ID:FarManagerLegacy,项目名称:PicView,代码行数:11,
示例21: cdkillcanvasstatic void cdkillcanvas (cdCtxCanvas* ctxcanvas){ HENHMETAFILE hmf; cdwKillCanvas(ctxcanvas); hmf = CloseEnhMetaFile(ctxcanvas->hDC); DeleteEnhMetaFile(hmf); memset(ctxcanvas, 0, sizeof(cdCtxCanvas)); free(ctxcanvas);}
开发者ID:LuaDist,项目名称:cd,代码行数:12,
示例22: OpenImageVOID OpenImage(HWND hWnd, LPCWSTR fileName){ HDC windowDC = GetDC(hWnd); HENHMETAFILE hemf = GetEnhMetaFile(fileName); GetClientRect(hWnd, &rect); ClearWindow(memoryDC); RefreshMetafileDC(hWnd); PlayEnhMetaFile(memoryDC, hemf, &rect); PlayEnhMetaFile(metafileDC, hemf, &rect); ReleaseDC(hWnd, windowDC); DeleteEnhMetaFile(hemf);}
开发者ID:Lumiray,项目名称:GraphicalEditor,代码行数:12,
示例23: DeleteEnhMetaFilevoid COXMetaFile::CloseFile(){ if(m_hDCMeta) m_hEMF=CloseEnhMetaFile(m_hDCMeta); if(m_hEMF) DeleteEnhMetaFile(m_hEMF); m_hDCMeta = NULL; m_hEMF = NULL; m_rectBounds.SetRectEmpty(); m_rectNormalized.SetRectEmpty(); m_metafileType=OXMETAFILE_NOTDEFINED;}
开发者ID:Spritutu,项目名称:AiPI-1,代码行数:12,
示例24: packint CMetafileDisplay::LoadBits(UINT uiBuf, LPVOID pBuf){#pragma pack(2)typedef struct { DWORD key; WORD hmf; short left; short top; short right; short bottom; WORD inch; DWORD reserved; WORD checksum;} AMETAHEADER;#pragma pack() if (enhMF != NULL) { DeleteEnhMetaFile(enhMF); enhMF = NULL; } // See if this is an enhanced metafile ENHMETAHEADER *emhdr = (ENHMETAHEADER *)pBuf; if (uiBuf >= sizeof(ENHMETAHEADER) && emhdr->iType == EMR_HEADER && emhdr->dSignature == ENHMETA_SIGNATURE) { enhMF = SetEnhMetaFileBits(uiBuf, (CONST BYTE *)pBuf); } else if (uiBuf >= sizeof(METAHEADER)) { METAFILEPICT mp = {MM_ANISOTROPIC, 1000, 1000, NULL}; AMETAHEADER *ahdr = (AMETAHEADER *)pBuf; METAHEADER *mhdr = (METAHEADER *)pBuf; // See if this is a placeable metafile if (ahdr->key == 0x9AC6CDD7) { mp.xExt = ((LONG)(ahdr->right - ahdr->left) * 25401) / (LONG)ahdr->inch; mp.yExt = ((LONG)(ahdr->bottom - ahdr->top) * 25401) / (LONG)ahdr->inch; mhdr = (METAHEADER *) (ahdr + 1); } UINT uiSizeMF = (UINT) mhdr->mtSize * 2; HDC dcRef = ::GetDC(NULL); enhMF = SetWinMetaFileBits(uiSizeMF, (LPBYTE)mhdr, dcRef, &mp); ::ReleaseDC(NULL, dcRef); } return (enhMF == NULL) ? -1 : 0;}
开发者ID:travisgoodspeed,项目名称:basicsynth,代码行数:51,
示例25: clipboard_free_data |