Die ipExportInd-Funktion exportiert eine Grafik aus einem Windows DIB, MetaFile oder Enhanced MetaFile Handle in eines der unterstützen DaVinci Grafikformate.
IPERROR FAR PASCAL |
ipExportInd( |
|
lpDavParams); |
lpDavParams |
LPDAVPARAMS |
Zeiger auf eine DAVPARAMS-Struktur mit Angaben zu der zu exportierenden Grafik. |
Rückgabewert |
||
Der Rückgabewert ist IPE_OK (0), wenn kein Fehler auftrat, oder er enthält einen der IPE_xxxx Fehlercodes. |
||
Anmerkungen |
||
Die Anwendung benutzt diese Funktion, indem Sie die DAVPARAMS-Struktur ausfüllt und ipExportInd aufruft. |
||
Die Anwendung muss nur die tatsächlich benötigten Felder der DAVPARAMS-Struktur ausfüllen. Die anderen Felder werden auf 0 gesetzt. |
||
Für den Export unverzichtbar sind: |
• |
dwStructSize, immer auszufüllen auf sizeof(DAVPARAMS) |
• |
mindestens die Angabe der zugelassenen Ausgabeformate: IPF_DIB, IPF_META oder IPF_ENH. im Feld dwFlags |
• |
Angabe einer Datenquelle in aus den Feldern hDIB, hMetaFile und hEnhMetaFile der DAVPARAMS-Struktur |
• |
Angabe eines Datenziels in den Feldern |
stream, oder |
|
lpszFileName oder |
|
• |
der Dateiname, der zu exportierenden Datei lpszFileName ist auch dann auszufüllen, wenn stream benutzt wird. |
Die Anwendung ist selbst dafür verantwortlich, die Handles der exportierten Grafik durch Aufruf der entsprechenden Funktion DIBFree, DeleteMetaFile und DeleteEnhMetaFile freizugeben. |
|
Beispiel: Export einer Datei mit Anfrage des Dateinamens vom Anwender. |
|
/* FrameCMFileSave |
|
* |
|
* Save a graphic file in another format |
|
*/ |
|
void static FrameCMFileSave(HWND hWnd) |
|
{ |
|
METARESOLUTION mr; |
|
HDIB hDIB = (HDIB) SendMessage(hwClient, IMM_GETDIB , 0, 0L); |
|
HMETAFILE hMetaFile = (HMETAFILE) SendMessage(hwClient, IMM_GETMETAFILE, 0, (LPARAM)(LPSTR)&mr); |
|
# ifdef __WIN32__ |
|
HENHMETAFILE hEnhMetaFile= (HENHMETAFILE)SendMessage(hwClient, IMM_GETENHMETAFILE, 0, 0); |
|
# endif |
|
DAVPARAMS DavParams; |
|
if (hDIB || hMetaFile || hEnhMetaFile) |
|
{ |
|
memset(&DavParams, 0, sizeof(DavParams)); |
|
DavParams.dwStructSize = sizeof(DAVPARAMS); |
|
DavParams.dwFlags = IPF_DIB | IPF_META | IPF_MSGBOX | IPF_COMPRESS | IPF_FILEDIALOG; // Dateiname erfragen, Fehler selbst melden, beide Datenformate wenn mögl. komprimieren |
|
DavParams.lpszFileName = NULL; // Dateiname vom User erfragen |
|
DavParams.dwFileType = IPT_SELECT; // Dateiart vom User wählen lassen |
DavParams.hDIB = hDIB; |
// Metafile-Handle |
DavParams.hMetaFile = hMetaFile; // Metafile-Handle |
|
DavParams.MetaResolution= mr; // Metrische Größenangaben |
|
avParams.hEnhMetaFile |
= hEnhMetaFile; // Enhanced Metafile-Handle |
ipExportInd(&DavParams); |
|
} |
|
} // FrameCMFileSave |
|