Directory Contents Search << >>


DaVinci 4: DaVinci Funktion ipImportInd: Importieren von Grafiken

Die ipImportInd-Funktion importiert eine Grafik aus den unterstützen DaVinci Grafikformaten in ein Windows DIB, MetaFile oder Enhanced MetaFile Handle.

IPERROR FAR PASCAL

ipImportInd(

LPDAVPARAMS

lpDavParams);

lpDavParams

LPDAVPARAMS

Zeiger auf eine DAVPARAMS-Struktur mit Angaben zu der zu importierenden Datei.

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, ipImportInd aufruft und die Ergebnisdaten aus der DAVPARAMS-Struktur entnimmt.

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 Import unverzichtbar sind:

dwStructSizeImmer auszufüllen auf sizeof(DAVPARAMS)

Mindestens die Angabe der zugelassenen Rückgabeformate: IPF_DIB, IPF_META oder IPF_ENH. im Feld dwFlags

Angabe einer Datenquelle: stream, lpszFileName oder IPF_FILEDIALOG in dwFlags

Der Dateiname der zu importierenden Datei lpszFileName, ist auch dann auszufüllen, wenn stream benutzt wird.

Nach erfolgreichem Ausführen der Funktion ipImportInd ist der Rückgabewert IPE_OK (0) und die Anwendung kann die importierten Daten aus den Felder hDIB, hMetaFile und hEnhMetaFile der DAVPARAMS-Struktur entnehmen.

Die Anwendung ist dafür verantwortlich, nach einem erfolgreichen Importvorgang die in der DAVPARAMS-Struktur zurückgelieferten Handles durch Aufruf der entsprechenden Funktion DIBFree, DeleteMetaFile und DeleteEnhMetaFile freizugeben.

Beispiel: Import einer Datei mit Anfrage des Dateinamens vom Anwender.

/* FrameCMFileOpen

*

* Use DaVinci to import a Graphics file.

*/

void FrameCMFileOpen(HWND hWnd)

{

char FileName[256];

DAVPARAMS DavParams;

FileName[0]=0;

memset(&DavParams, 0, sizeof(DavParams));

DavParams.dwStructSize = sizeof(DAVPARAMS);

DavParams.dwFlags = IPF_META | IPF_DIB | IPF_ENH | IPF_MSGBOX | IPF_FILEDIALOG; // Dateiname erfragen, Fehler selbst melden, alle Datenformate

DavParams.lpszFileName = FileName; // Dateiname vom User erfragen, aber in Variable zurückliefern

DavParams.dwFileType = IPT_SELECT; // Dateiart vom User wählen lassen

if (IPE_OK == ipImportInd(&DavParams)) // Import-Vorgang ausführen

{

/* Import was successfull... Display new Data */

if (DavParams.hDIB) SendMessage(hwClient, IMM_SETDIB , (WPARAM) DavParams.hDIB , 0);

if (DavParams.hMetaFile) SendMessage(hwClient, IMM_SETMETAFILE , (WPARAM) DavParams.hMetaFile, (LPARAM)(LPSTR)&DavParams.MetaResolution);

if (DavParams.hEnhMetaFile) SendMessage(hwClient, IMM_SETENHMETAFILE, (WPARAM) DavParams.hEnhMetaFile, 0L);

/* Display new Filename in title bar */

SetWindowText(hWnd, FileName);

}

} // FrameCMFileOpen

Siehe auch

Sicherheitsüberlegungen

ipExportInd

LoadDIBFromFile