Herd Software Entwicklung
DaVinci Grafikbibliothek
DaVinci Dokumentation
Die ipImportExt-Funktion benutzt folgende Aufrufsyntax
IPERROR FAR PASCAL ipImportExt(
HDIB FAR * phDib,
HMETAFILE FAR * phMeta,
LPSTR pszName,
DWORD dwFlags,
IPCALLBACKPROC fnBck,
DWORD FileTyp,
HWND hWnd,
LPPOINT pnSize,
LPMETARESOLUTION lpmr,
DWORD dummy);
phDib Zeiger auf eine Variable vom Typ HDIB. Diese Variable wird bei der Rückkehr einen Wert erhalten, ungleich NULL enthalten, wenn beim Import eine DIB (Device Independend Bitmap) erstellt wurde.
phMeta Zeiger auf eine Variable vom Typ HMETAFILE. Diese Variable wird bei der Rückkehr einen Wert erhalten ungleich NULL enthalten, wenn beim Import ein Windows-Metafile erstellt wurde.
pszName Dateiname. Darf NULL sein. Wenn nicht NULL und das Flag IPF_FILEDIALOG ist gesetzt, wird der Name der tatsächlich importierten Datei hier abgelegt. Falls pszName angegeben ist, wird es als Anfangswert für das Dateinamen-Dialogfenster eingesetzt. pszName muß daher immer auf einen gültigen Dateinamen-String mit < 100 Zeichen zeigen. Falls pszName NULL ist oder auf einen leeren String zeigt, setzt DaVinci einen String mit der Liste gültiger Extensions zusammen : *.BMP;*.TIF;*.GIF ...
Falls pszName auf einen gültigen Dateinamen zeigt, und das IPF_FILEDIALOG-Flag im Feld dwFlags nicht gesetzt ist, importiert Davinci die im Übergabeparameter angegebene Datei. Falls als FileTyp IPT_SELECT angegeben wurde, stellt DaVinci den Typ der Datei anhand ihrer Extension fest. Falls die Extension der Datei den Dateityp nicht angibt, z.B. weil die Datei in eine temporäre Datei umkopiert wurde, wird DaVinci den Dateiinhalt analysieren um den Dateityp zu erhalten.
dwFlags Eine Kombination von Flags aus der IPF_xxxx - Reihe, jeweils mit dem Oder-Operator | verknüpft.
fnBck Adresse einer CallBack-Prozedur, die während der Umwandlung von Zeit zu Zeit aufgerufen werden soll. Mit dieser Callback-Prozedur kann die Anwendung das Multitasking weiterlaufen lassen. Da DaVinci nicht reenterant ist, wird eine Fehlermeldung produziert, wenn DaVinci eine weitere Umwandlung starten soll.
Die Callback-Funktion kann als Rückgabewert FALSE liefern, um die Umwandlung abzubrechen.
Falls für fnBck NULL angegeben wird, prüft DaVinci lediglich die Esc-Taste und bricht ab, wenn diese gedrückt wurde. Das Windows-Multitasking wird nicht unterstützt.
fnBck muß mit MakeProcInstance exportiert sein!
hWnd Handle des Elternfensters. Wird für die Dateidialoge eingesetzt. Ich empfehle dringend, dieses Element immer auszufüllen.
FileTyp IPT_xxxx Dateityp-Angabe, falls in dwFlags nicht IPF_FILEDIALOG angegeben wurde. Üblicherweise gibt die Anwendung IPT_SELECT vor.
pnSize Zeiger auf eine POINT-Struktur mit der Größenangabe einer Speicherbitmap, wenn ein Metafile in eine DIB konvertiert werden muß. NULL, falls Konvertierung nicht erwünscht ist (Dann werden die entsprechenden Dateiformate nicht unterstützt).
Falls IPF_DIB und IPF_META angegeben wurden, kann hier NULL stehen.
lpmr Zeiger auf eine METARESOLUTION-Struktur mit Angaben zur Auflösung (Größe in Millimetern und Seitenverhältnis) der MetaFile-Datei.
lParam Anwendungsdefinierter 32-Bit Wert der an die Callback-Funktion in fnBck weitergegeben wird.
Der Rückgabewert ist 0, wenn kein Fehler auftrat, oder er enthält einen der IPE_xxxx Fehlercodes.
Diese Funktion unterstützt Entwickler bei der Umstellung von DaVinci Version 2.x auf Version 3.x. Neuentwickelte Anwendungen werden in der Regel die Funktion ipImportInd benutzen.