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 |
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 |
|