` Getting handle of Clarion style metafiles - structure (Ron Schofield) - Icetips Article
Icetips - Templates, Tools & Utilities for Clarion Developers

Templates, Tools and Utilities
for Clarion Developers

Icetips Article

Back to article list   Search Articles     Add Comment     Printer friendly     Direct link  

Windows API: Getting handle of Clarion style metafiles - structure
2003-04-28 -- Ron Schofield
 
Newsgroups: comp.lang.clarion typedef struct _PlaceableMetaHeader { DWORD Key; /* Magic number (always 9AC6CDD7h) */ WORD Handle; /* Metafile HANDLE number (always 0) */ SHORT Left; /* Left coordinate in metafile units */ SHORT Top; /* Top coordinate in metafile units */ SHORT Right; /* Right coordinate in metafile units */ SHORT Bottom; /* Bottom coordinate in metafile units */ WORD Inch; /* Number of metafile units per inch */ DWORD Reserved; /* Reserved (always 0) */ WORD Checksum; /* Checksum value for previous 10 WORDs */ } PLACEABLEMETAHEADER; From http://www.wotsit.org/download.asp?f=wmf "Steve Johnson - ThinkData Inc." wrote: > That's what I was afraid of Do you happen to have the definition for > the AldusHeader structure? > > Thanks > > Steve > > "Leonid Chudakov" wrote in message > news:3ead9af0@news.softvelocity.com... > > I'm using temporary files. > > > > !Check if it's Aldus style file > > hFile = _lopen(ClarionMetafileName,2) > > RetVal = _lread(hFile,Address(AldusHeader),22) > > If AldusHeader.Key = 9AC6CDD7H Then !Aldus style file > > !Create work wmf file > > RetVal = GetTempPath(255,TempPath) > > RetVal = GetTempFileName(TempPath,FilePrefix,0,TempFileName) > > hTempFile = _lopen(TempFileName,2) > > mfglbhnd = GlobalAlloc(BOR(GMEM_MOVEABLE,GMEM_ZEROINIT), > > GetFileSize(hFile,0) - 22) > > gptr = GlobalLock(mfglbhnd) > > RetVal = _llseek(hFile,22,0) > > RetVal = _hread(hFile, gptr, GetFileSize(hFile,0) - 22) > > RetVal = _hwrite(hTempFile, gptr, GetFileSize(hFile,0) - 22) > > RetVal = GlobalFree(mfglbhnd) > > RetVal = _lclose(hTempFile) > > hMeta = GetMetafile(TempFileName) > > End > > > > "Steve Johnson - ThinkData Inc." wrote in > > message news:3ead942b$1@news.softvelocity.com... > > > How would one skip the first 22 bytes without writing a new temporary > > file? > > > Do you have an example of handling this? > > > > > > "Leonid Chudakov" wrote in message > > > news:3ead9366@news.softvelocity.com... > > > > Hi Steve, > > > > > > > > Clarion generates aldus style wmfs. You need to skip first 22 bytes > and > > > use > > > > GetMetafile. > > > > > > > > -- > > > > -- > > > > Leonid Chudakov > > > > chudakov@netzero.com > > > > Cool tools and Clarion examples at > > > > http://www.klarisoft.com > > > > http://members.tripod.com/cwstuff/clarion_products.htm > > > > > > > > "Steve Johnson - ThinkData Inc." wrote > in > > > > message news:3ead8f41$1@news.softvelocity.com... > > > > > I have tried both GetMetaFile and GetEnhMetaFile - neither one works > > > > > properly. Do you have a working example of one of these API > functions > > > > > actually functioning with Clarion WMF files? > > > > > > > > > > "Sebastian Streiger" wrote in message > > > > > news:3ead8e7c@news.softvelocity.com... > > > > > > Steve: > > > > > > There are two "Flavors" of Meta Files. > > > > > > Windows Meta Files - Old windows metafil format > > > > > > Enhanced Meta Files - New (win 95 I guess) file format > > > > > > Both of this file format usually use the WMF file extension. > You > > > > have > > > > > to > > > > > > read the file header to know wich one of them you are dealing > with. > > > > > > Clarion Report engine generates EMF. > > > > > > You will have to dig in MSDN. > > > > > > Try this link > > > > > > > > > > > > > > > > > > > > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/metafil > > > > > > e_0whf.asp > > > > > > > > > > > > Probably it won't work, cause MSDN is changes in it's navigation > > tree > > > > very > > > > > > frequently. > > > > > > > > > > > > Bets regards > > > > > > > > > > > > -- > > > > > > Sebastián Streiger > > > > > > Departamento Sistemas > > > > > > Red Megatone > > > > > > Tel: 0342-4502745 > > > > > > Int: 745 > > > > > > sstreige at redmegatone.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > "Steve Johnson - ThinkData Inc." > > > escribió > > > > > en > > > > > > el mensaje news:3ead8947$1@news.softvelocity.com... > > > > > > > Hi all - > > > > > > > > > > > > > > I'm having issues calling the GetMetaFile API function to > retrieve > > a > > > > WMF > > > > > > > file and convert it without using Clarion image controls. I > have > > it > > > > > > > prototyped as follows: > > > > > > > > > > > > > > GetMetaFile(*cstring > > > szMetaFile),long,pascal,raw,name('GetMetaFileA') > > > > > > > > > > > > > > No matter what I do, every time I call it and pass it the name > of > > a > > > > > > Clarion > > > > > > > generated WMF file I get no return value. Has anyone worked > with > > > WMF > > > > > > files > > > > > > > in this way? > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > Steve Johnson > > > > > > > ThinkData Inc. > > > > > > > http://www.thinkdata.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >


Today is April 18, 2024, 1:55 am
This article has been viewed 35110 times.
Google search has resulted in 112 hits on this article since January 25, 2004.



Back to article list   Search Articles   Add Comment   Printer friendly

Login

User Name:

Password: