Herd Software Entwicklung
DaVinci Grafikbibliothek
DaVinci Dokumentation
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.
Der Rückgabewert ist 0, wenn kein Fehler auftrat, oder er enthält einen der IPE_xxxx Fehlercodes.
Die Anwendung benutzt diese Funktion, indem Sie die DAVPARAMS-Struktur ausfüllt, ipImportInd aufruft und die Ergebnisdaten aus der DAVPARAMS-Struktur entnimmt.
Die Anwendung muß 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:
Nach erfolgreichem Ausführen der Funktion ipImportInd ist der Rückgabewert 0 und die Anwendung kann die 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 GlobalFree, DeleteMetaFile und DeleteEnhMetaFile freizugeben.
/* 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);
# ifdef __WIN32__
if (DavParams.hEnhMetaFile) SendMessage(hwClient, IMM_SETENHMETAFILE, (WPARAM) DavParams.hEnhMetaFile, 0L);
# endif
/* Display new Filename in title bar */
SetWindowText(hWnd, FileName);
}
} // FrameCMFileOpen