Directory Contents Search << >>


DaVinci 4: DaVinci Funktion ipExportInd: Exportieren von Grafiken

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

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

IPF_FILEDIALOG in dwFlags

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

ipImportInd

SaveDIBToFile